R-循环变量中的值并根据条件删除重复项
我希望循环遍历变量项(即A、B、C)中的每个唯一值,只保留每个项ID号最低的行,删除每个对应项的其他行 我现在有一个数据框,看起来像这样:R-循环变量中的值并根据条件删除重复项,r,R,我希望循环遍历变量项(即A、B、C)中的每个唯一值,只保留每个项ID号最低的行,删除每个对应项的其他行 我现在有一个数据框,看起来像这样: Item Cost ID A 4 1 A 3 B 39 10 B 18 B 21 C 290 15 C 我想要这样的东西: Item Cost ID A
Item Cost ID
A 4 1
A 3
B 39 10
B 18
B 21
C 290 15
C
我想要这样的东西:
Item Cost ID
A 4 1
B 39 10
C 290 15
我该怎么做
提前谢谢-我是R的新手 使用dplyr,您的任务非常简单,但是有多种方法
library(dplyr)
df %>% group_by(Item) %>% filter(ID == min(ID, na.rm = TRUE))
Source: local data frame [3 x 3]
Groups: Item [3]
Item Cost ID
<fctr> <dbl> <dbl>
1 A 4 1
2 B 39 10
3 C 290 15
基本R选项是df[!duplicateddf$Item[orderdf$Item,df$ID],]
structure(list(Item = structure(c(1L, 1L, 2L, 2L, 2L, 3L, 3L), .Label = c("A",
"B", "C"), class = "factor"), Cost = c(4, NA, 39, NA, NA, 290,
NA), ID = c(1, 3, 10, 18, 21, 15, NA)), .Names = c("Item", "Cost",
"ID"), row.names = c(NA, -7L), class = "data.frame")