请帮我看这个.. 所以我每天都有32年的观察(数据框)。 (因此总共大约11659行:有一些缺失的行) 我想计算每个第365个时间间隔的每列平均值(即32年期间的每个Jan-01,32年期间的每个Jan-02等等)每第n行跳列平均值
所以输出总共有365行,每行是365行间隔的32行平均值 有没有什么建议?我找到了类似的情况,并尝试了他们的解决方案并修改了一下,但输出结果不正确,特别是我不明白下面sapply部分..
df <-data.frame(x=c(1:10000),y=c(1:10000))
byapply <- function(x, by, fun, ...)
{
# Create index list
if (length(by) == 1)
{
nr <- nrow(x)
split.index <- rep(1:ceiling(nr/by), each = by, length.out = nr)
} else
{
nr <- length(by)
split.index <- by
}
index.list <- split(seq(from = 1, to = nr), split.index)
# Pass index list to fun using sapply() and return object #this is where I am lost
sapply(index.list, function(i)
{
do.call(fun, list(x[, i], ...))
})
}
感谢您的时间..
INDEX.LIST <-split(SEQ(从= 1到= NR),split.index)该行似乎也并不正确,我... – kclick
如果您使用天气观测,如何处理闰年?最好为您的数据生成一些新的列,实际上是日期,一年中的哪一天。然后你可以使用apply函数。 – Bangyou
是的,这也是我得到的问题。我需要重新汇编我的数据,感谢您的意见。 – kclick