假设我有一个数据框(让我们称之为df),如下所示(下图)。我试图根据给定的列(df $ car)删除给定数据框中的所有重复项。
options(stringsAsFactors=F)
car <- c('car1', 'car2', 'car2', 'car3', 'car4', 'car4', 'car4', 'car5', 'car6', 'car6')
location <- c(111,345,345,123,678,678,678,432,232,232)
value <- c(1,1,1,1,2,2,2,2,4,4)
a <- c('AT','ATC','TAT','C','TT','TGGGG','GGC','CC','AA','AT')
b <- c('A', 'TAG','TAG','G','AA','AA','AA','GG','TT','TT')
df <- data.frame(car,location,value,a,b)
> df
car location value a b
1 car1 111 1 AT A
2 car2 345 1 ATC TAG
3 car2 345 1 TAT TAG
4 car3 123 1 C G
5 car4 678 2 TT AA
6 car4 678 2 TGGGG AA
7 car4 678 2 GGC AA
8 car5 432 2 CC GG
9 car6 232 4 AA TT
10 car6 232 4 AT TT
我想要的输出如下。我希望删除所有具有重复项的列,而不仅仅是唯一值。
car location value a b
1 car1 111 1 AT A
4 car3 123 1 C G
8 car5 432 2 CC GG
请注意:我认为这是一个与过去发布的其他问题不同的问题。大多数问题是基于给定列要求唯一行,但我要求甚至删除那些行。如果这是一个重复的帖子,我很高兴关闭这个 - 我还没找到我正在寻找的东西!谢谢你的帮助!
答案 0 :(得分:1)
如果有效,你能试试吗?
df[!(duplicated(df$car) | duplicated(df$car, fromLast = TRUE)), ]