高档降水

时间:2014-01-31 10:39:20

标签: r

我有一个c(32, 32)数组的数据,其网格分辨率为0.2 x 0.2。我想将分辨率0.4降低0.4格网分辨率,这将是c(16, 16)阵列,再次0.8由0.8网格分辨率变为c(8, 8)数组。

我仅为第一个c(16, 16)数组开发以下脚本,但它只添加对角线项   a=c(32,32)

# define array

ra <- array(NA, c(16, 16))

n=0


k=0

for  ( i in seq(1,32,2)) {

       for (j in seq(1,32,2)){
            ra[n,k]=sum(a[i:(i+1),j:(j+1)])
       }
    n=n+1
 k=k+1

}

非常感谢我期待谁解决我的问题

1 个答案:

答案 0 :(得分:0)

使用您的方法:

a <- array(runif(32 * 32), c(32, 32))
ra <- array(NA, c(16, 16))

n <- 1
for(i in seq(1, 32, 2)){
    k <- 1
    for(j in seq(1, 32, 2)){
        ra[n, k] <- sum(a[i:(i+1), j:(j+1)])
        k <- k + 1
    }
    n <- n + 1
}

当然还有更优雅的选择。