【问题标题】:Index out the subsequent row with an identical value in R在 R 中索引具有相同值的后续行
【发布时间】:2011-06-16 04:06:13
【问题描述】:

我有一个名为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)

但它索引了第一次出现,而我想丢弃第二次出现。

【问题讨论】:

  • 你已经很接近了,test_shorter

标签: r indexing


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-09
    • 2020-08-31
    • 2017-01-31
    • 2023-03-24
    • 2021-09-12
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    相关资源
    最近更新 更多