【发布时间】:2015-07-29 00:38:22
【问题描述】:
我是 R 编程新手,我需要帮助才能根据单个列的值删除整行。如果单列中的值等于前一行值,我想删除该行。
以下是我的数据,
x.id x.timestamp x.count
71 1 1435114605 61
72 1 1435114606 61
73 1 1435114659 61
74 1 1435114719 62
75 1 1435114726 62
76 1 1435114780 62
77 1 1435155998 62
78 1 1435156059 62
79 1 1435156076 62
80 1 1435156119 62
这里我要删除基于 x$x.count 值的行。
我的输出应该是,
x.id x.timestamp x.count
71 1 1435114605 61
74 1 1435114719 62
我不能在这里使用重复或唯一的函数,因为稍后相同的值会在数据集中重复。我只想根据以前的值删除数据。
【问题讨论】:
-
用data.table,一个选项是
library(data.table);setDT(dat)[as.logical(x.count-shift(x.count, fill=x.count[1L]-1))]应该很快。
标签: r duplicates