这个问题在这里已有答案:
假设我的数据如下,
X Y
26 14
26 14
26 15
26 15
27 15
27 15
28 16
28 16
我想删除重复行 . 我可以通过此命令删除基于一列的重复行,
dat[c(T, diff(dat$X) != 0), ] or dat[c(T, diff(dat$Y) != 0), ]
但是,只有当两个列具有相同的先前值时,我才想删除重复项 . 我不能在这里使用unique,因为稍后会出现相同的数据 . 我想检查以前的值并计算它
我的示例输出是,
x y
26 14
26 15
27 15
28 16
我们怎样才能在R中做到这一点?
谢谢
Ijaz
2 回答
使用
data.table v1.9.5
- 安装说明here:通过示例可以最好地理解
rleidv()
:为每个连续的值运行生成唯一索引 .
同样可以在特定的一组列上的
list()
或data.frame()
或data.table()
上完成 . 例如:其余的应该是相当明显的 . 我们只检查
duplicated()
值,并返回非重复的值 .使用
dplyr
:我们需要包含
row_number()==1
或我们丢失第一行