R-循环变量中的值并根据条件删除重复项

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

我希望循环遍历变量项(即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        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")