【发布时间】:2016-04-20 07:18:47
【问题描述】:
我需要根据组过滤时间序列数据。但是过滤必须在每组的开始(-5 分钟)和结束(-2 分钟)进行,这意味着我想在每个组的开始(-5 分钟)和结束(-2 分钟)删除行团体。
这里是示例代码:
Time <- c("2015-08-21T10:00:51", "2015-08-21T10:02:51", "2015-08-21T10:04:51", "2015-08-21T10:06:51",
"2015-08-21T10:08:51", "2015-08-21T10:10:51","2015-08-21T10:12:51", "2015-08-21T10:14:51",
"2015-08-21T10:16:51", "2015-08-21T10:18:51", "2015-08-21T10:20:51", "2015-08-21T10:22:51")
x <- c(38.855, 38.664, 40.386, 40.386, 40.195, 40.386, 40.386, 40.195, 40.386, 38.855, 38.664, 40.386)
y <- c("a", "a", "a", "a", "a", "a", "b", "b", "b", "b", "b", "b")
data <- data.frame(Time,x,y)
data$Time <- as.POSIXct(data$Time, format = "%Y-%m-%dT%H:%M:%S")
Y 列向我们展示了组,在这种特殊情况下是 a 和 b
所以对于这个例子我将删除 3 级的第一行和 2 级的最后一行,对于 b 同样的事情(在我的原始数据中,根据行删除它并不容易数)。所以我最终会得到这样的结果:
Time x y
4 2015-08-21 10:06:51 40.386 a
10 2015-08-21 10:18:51 38.855 b
我想指出,这只是样本数据!
感谢您的帮助!
我宁愿根据时间列而不是行数来过滤数据,我的原始数据不像这个那样结构很好,而且每组的行数各不相同。
【问题讨论】:
-
您能否进一步解释一下“必须在每个组的开始(-5 分钟)和结束(-2 分钟)进行过滤”是什么意思?
-
嘿,我刚刚在我的帖子中解释得更好
标签: r