【发布时间】:2015-05-13 10:39:35
【问题描述】:
我试图找到一种方法来删除 R 语言中的连续重复。我有一个zoo 对象,例如:
2015-01-01 12:00:00 1
2015-01-01 13:00:00 1
2015-01-01 14:00:00 1
2015-01-01 15:30:00 4
2015-01-01 16:00:00 1
2015-01-01 17:00:00 6
而我的预期结果是:
2015-01-01 12:00:00 1
2015-01-01 15:30:00 4
2015-01-01 16:00:00 1
2015-01-01 17:00:00 6
当我使用重复功能时,它也会在重复项 (1) 不连续出现时删除它们。
谁能给我一个提示如何写这个或者是否已经有一个可用的函数?
【问题讨论】:
-
data[sequence(rle(c(1,1,1,4,1,6))$lengths) == 1, ]或data[which(sequence(rle(c(1,1,1,4,1,6))$lengths) == 1), ]可能我更安全 -
@rawr 不错。只需将
c替换为列名并作为答案发布。这是这里的评论部分:)。谢谢。 -
顺便说一句,
data.tablev >= 1.9.5 我会做library(data.table) ; setDT(df)[df[, .I[1L], by = rleid(V2)]$V1]。但这在这里可能没有必要。
标签: r duplicates zoo