在 r 中数组的新维度中平均每天 25 年
Average each day for 25 years in a new dimension of the array in r
我有一个 dim= c(36,28,9502) 的数组,其中第一个是纬度,第二个是经度,第三个时间(以天为单位)
我想在第三个昏暗中获得每 365 年的平均值(因为我消除了闰日)。如果可能的话,把它调成四级调暗就好了,但这是不可能的,只是结果会很好
我尝试了 apply,但无法使其适用于 365 的跳跃序列和 for 功能,但我无法使其达到平均值(我没有完全体验)
ADTN <-c(36,28,9502)
AA <- apply(ADTN, c(1,2), FUN=mean)
另一种方式
for (i in seq(0,365,by=1)) {
A[i] <- seq(0,9502,by=365)
ADTN <- ADTN[,,A[i]]
print(ADTN[i]) }
我的预期结果是
c(36,28,26,365) 其中 26 是年和 365 天。如果不只是 365 的结果,我会把它取回来。
非常感谢您的阅读。
目前还不完全清楚如何根据需要获得 4 维结果,但像这样的东西可能会给你对大小为 365 的块的平均值:
ADTN <- rnorm(36 * 28 * 9502)
ADTN <- array(ADTN, dim = c(36, 28, 9502))
apply(ADTN, c(1,2), FUN = function(x) {z <- rep(1:(9502/365+1), each = 365, length.out = 9502); by(x, z, mean)})
这给出了维度 (27, 36, 28) 的结果数组
我有一个 dim= c(36,28,9502) 的数组,其中第一个是纬度,第二个是经度,第三个时间(以天为单位)
我想在第三个昏暗中获得每 365 年的平均值(因为我消除了闰日)。如果可能的话,把它调成四级调暗就好了,但这是不可能的,只是结果会很好
我尝试了 apply,但无法使其适用于 365 的跳跃序列和 for 功能,但我无法使其达到平均值(我没有完全体验)
ADTN <-c(36,28,9502)
AA <- apply(ADTN, c(1,2), FUN=mean)
for (i in seq(0,365,by=1)) {
A[i] <- seq(0,9502,by=365)
ADTN <- ADTN[,,A[i]]
print(ADTN[i]) }
我的预期结果是 c(36,28,26,365) 其中 26 是年和 365 天。如果不只是 365 的结果,我会把它取回来。 非常感谢您的阅读。
目前还不完全清楚如何根据需要获得 4 维结果,但像这样的东西可能会给你对大小为 365 的块的平均值:
ADTN <- rnorm(36 * 28 * 9502)
ADTN <- array(ADTN, dim = c(36, 28, 9502))
apply(ADTN, c(1,2), FUN = function(x) {z <- rep(1:(9502/365+1), each = 365, length.out = 9502); by(x, z, mean)})
这给出了维度 (27, 36, 28) 的结果数组