删除具有多个行元素的行

时间:2014-02-26 17:24:51

标签: r delete-row

我有点被困在这里。我想删除除一个之外的所有行(基于列中的元素,只保留一个而不是全部)。

我的数据如下:

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
...

非常感谢你的帮助!

1 个答案:

答案 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参数更改为您实际查找的内容 - 您的描述似乎与您想要的输出不符。