我正在尝试使用一个函数将我的数据聚合到 5 分钟的时间间隔中,但我无法理解我收到的错误
我的数据如下所述。
> head(BB)
V1 423 470 473 626
1 2018-02-01 00:00:00 0.000 0 0.00000 0
2 2018-02-01 00:01:00 27.750 0 0.00000 0
3 2018-02-01 00:02:00 60.375 0 39.50000 0
4 2018-02-01 00:03:00 79.500 0 54.00000 0
5 2018-02-01 00:04:00 0.000 0 57.00000 0
6 2018-02-01 00:05:00 0.000 24 60.33333 0
我正在使用的代码是
f <- function(x){
y <- x[x != 0]
mean(y, na.rm = TRUE)
}
BB<-BB[, lapply(.SD, f), by = cut(as.POSIXct(V1), "5 mins")]
我使用此代码来获取不包括 0 的 5 行的平均值。
但我收到的错误是
Error in `[.data.frame`(BB, , lapply(.SD, f), by = cut(as.POSIXct(V1), :
unused argument (by = cut(as.POSIXct(V1), "5 mins"))
我将不胜感激对此错误的一些建议。
已编辑
structure(list(V1 = structure(c(1517410800, 1517410860, 1517410920,
1517410980, 1517411040, 1517411100), class = c("POSIXct", "POSIXt"
), tzone = ""), `423` = c(0, 27.75, 60.375, 79.5, 0, 0), `470` = c(0,
0, 0, 0, 0, 24), `473` = c(0, 0, 39.5, 54, 57, 60.3333333333333
), `626` = c(0, 0, 0, 0, 0, 0)), row.names = c(NA, 6L), class = c("data.table",
"data.frame"))