我有一个 100 行的数据库。这是一个小数据样本
df<-read.table (text=" Id Colour Class val Group
'P' 'NA' 'NA' 'NA' '1'
'Q' 'NA' 'NA' 'NA' '2'
'12' 'Red' 'A' '12' '3'
'P' 'NA' 'NA' 'NA' '1'
'Q' 'NA' 'NA' 'NA' '2'
'Z' 'Yellow' 'M' '9' '20'
'P' 'Blue' 'M' '30' '50'
", header=TRUE)
如您所见,行 P 和 Q 重复。我想删除底部的行 P 和 Q 以获得此结果
Id Colour Class val Group
1 P <NA> <NA> NA 1
2 Q <NA> <NA> NA 2
3 12 Red A 12 3
6 Z Yellow M 9 20
7 P Blue M 30 50
使用以下代码,我可以得到结果。但是,这对我没有帮助,因为 Id 名称有时不同,而且检查要删除的感兴趣的行也很乏味。我们能做得更好吗?
df[-c(4,5), ]
答案 0 :(得分:1)
您可以使用 unique
,它在基础中:
unique(df)
这会将两个“Q”行减少为一,将三个“P”行减少为两个,如您在输出中显示的那样。