0

我有一个具有单个半小时值的向量。我需要将其与每小时价值联系起来。如何获取具有半小时值的向量并一次仅平均两个值以获得新的平均值向量?

例如,如果我有向量

a <- c(x1,x2,x3,x4,x5,x6) 

如何创建向量 b,其中 b 的第一个值是 x1 和 x2 的平均值,b 的第二个值是 x3 和 x4 的平均值

b <- c(average of x1 and x2, average of x3 and x4, average of x5 and x6)
4

2 回答 2

2
x <- 1:10
colMeans(matrix(x, 2))
#[1] 1.5 3.5 5.5 7.5 9.5

您可能想查看时间序列函数和包(xts、zoo、...)。

于 2013-09-20T17:04:53.710 回答
1

罗兰的回答很好。我过去的做法是这样的

a <- c(5, 6, 7, 8, 9, 10)
b <- tapply(a, (seq_along(a) - 1) %/% 2, mean)

这是一篇关于tapply的文章: http ://www.r-bloggers.com/r-function-of-the-day-tapply/

祝你好运!

于 2013-09-20T17:09:15.793 回答