使用R删除一列中的重复值
我希望删除状态与前一行相同的行,只保留序列中状态相同的第一行使用R删除一列中的重复值,r,duplicates,R,Duplicates,我希望删除状态与前一行相同的行,只保留序列中状态相同的第一行 test[1:100,] time status 1 2014-07-31 17:00:01.0 0 2 2014-07-31 17:00:01.2 0 3 2014-07-31 17:00:01.4 1 4 2014-07-31 17:00:01.5 1 5 2014-07-31 17:00:02.2 1 6
test[1:100,]
time status
1 2014-07-31 17:00:01.0 0
2 2014-07-31 17:00:01.2 0
3 2014-07-31 17:00:01.4 1
4 2014-07-31 17:00:01.5 1
5 2014-07-31 17:00:02.2 1
6 2014-07-31 17:00:02.5 1
7 2014-07-31 17:00:03.0 1
8 2014-07-31 17:00:04.0 1
9 2014-07-31 17:00:04.0 1
10 2014-07-31 17:00:05.0 1
11 2014-07-31 17:00:09.0 1
12 2014-07-31 17:00:10.0 1
13 2014-07-31 17:00:10.2 1
14 2014-07-31 17:00:11.2 1
15 2014-07-31 17:00:11.5 1
16 2014-07-31 17:00:12.0 1
17 2014-07-31 17:00:12.5 1
18 2014-07-31 17:00:12.5 0
19 2014-07-31 17:00:12.9 1
20 2014-07-31 17:00:13.4 0
我希望相邻状态的值总是不同的
time status
1 2014-07-31 17:00:01.0 0
3 2014-07-31 17:00:01.4 1
18 2014-07-31 17:00:12.5 0
19 2014-07-31 17:00:12.9 1
20 2014-07-31 17:00:13.4 0
我试过
unitest@Frank。谢谢你的帮助。但当我使用它时,总是会丢失一个错误“参数“b”,没有默认值”。我很困惑>@Chenlu我担心在没有看到您实际数据的实际结构的情况下很难解决这个问题。在这里添加一小部分实际数据结构的方法是提供dput(head(test,20))
@Frank的输出。谢谢你的帮助。但当我使用它时,总是会丢失一个错误“参数“b”,没有默认值”。我很困惑>@Chenlu我担心在没有看到您实际数据的实际结构的情况下很难解决这个问题。在这里添加实际数据结构的一种方法是提供dput(head(test,20))
的输出。
test[c(1, which(diff(test$status) != 0)+1), ]
# time status
#1 2014-07-31 17:00:01.0 0
#3 2014-07-31 17:00:01.4 1
#18 2014-07-31 17:00:12.5 0
#19 2014-07-31 17:00:12.9 1
#20 2014-07-31 17:00:13.4 0