我有点被困在这里。我想删除除一个之外的所有行(基于列中的元素,只保留一个而不是全部)。
我的数据如下:
row Name Nr V Gmd Kt
1 Aadorf 8355 0 Aadorf TG
2 Aarau 5004 0 Aarau AG
3 Aarau 5000 0 Aarau AG
4 Aarau 5032 0 Aarau AG
5 Aetigkofen 4583 2 Buchegg SO
6 Aetingen 4587 0 Buchegg SO
...
我只想保留第一个“Aarau”和第一个“Buchegg”等。它看起来应该是这样的:
row Name Nr V Gmd Kt
1 Aadorf 8355 0 Aadorf TG
4 Aarau 5032 0 Aarau AG
6 Aetingen 4587 0 Buchegg SO
...
非常感谢你的帮助!
答案 0 :(得分:1)
您可以使用duplicated
:
## duplicated creates a logical vector
duplicated(mydf$Gmd, fromLast=TRUE)
# [1] FALSE TRUE TRUE FALSE TRUE FALSE
## You can use that vector to subset the rows you want
mydf[!duplicated(mydf$Gmd, fromLast=TRUE), ]
# row Name Nr V Gmd Kt
# 1 1 Aadorf 8355 0 Aadorf TG
# 4 4 Aarau 5032 0 Aarau AG
# 6 6 Aetingen 4587 0 Buchegg SO
将fromLast
参数更改为您实际查找的内容 - 您的描述似乎与您想要的输出不符。