使用R中的相同值索引后续行

Mil*_*der 3 indexing r

我有以下矩阵命名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
Run Code Online (Sandbox Code Playgroud)

我想丢弃2007-03-02中的行,因为它在Thresh列中与前一天具有相同的值.

我试过这个:

test_shorter <- subset(test, diff(Thresh) !=0)
Run Code Online (Sandbox Code Playgroud)

但它指出第一次出现,而我想丢弃第二次出现.

Jos*_*ich 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
Run Code Online (Sandbox Code Playgroud)

如果您想要与您尝试的结果相同,可以使用以下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
Run Code Online (Sandbox Code Playgroud)