我有以下名为test
的矩阵:
High Thresh Sig
2007-02-27 19.01 11.88 1
2007-03-01 19.40 17.29 1
2007-03-02 18.63 17.29 1
2007-03-14 21.25 20.41 1
2007-06-25 17.24 16.70 1
2007-06-27 18.98 18.89 1
我想丢弃2007-03-02中的行,因为它在Thresh列中的值与前一天相同。
我试过了:
test_shorter <- subset(test, diff(Thresh) !=0)
但它指出第一次出现,而我想丢弃第二次出现。
答案 0 :(得分:6)
duplicated
功能非常适合这种情况。例如:
> test[!duplicated(test[,'Thresh']),]
High Thresh Sig
2007-02-27 19.01 11.88 1
2007-03-01 19.40 17.29 1
2007-03-14 21.25 20.41 1
2007-06-25 17.24 16.70 1
2007-06-27 18.98 18.89 1
如果您想要与您尝试的结果相同,可以使用fromLast=
参数:
> test[!duplicated(test[,'Thresh'], fromLast=TRUE),]
High Thresh Sig
2007-02-27 19.01 11.88 1
2007-03-02 18.63 17.29 1
2007-03-14 21.25 20.41 1
2007-06-25 17.24 16.70 1
2007-06-27 18.98 18.89 1