【发布时间】:2012-02-26 14:18:43
【问题描述】:
我想从 3D 数组 (ssta_sst, 360*180*362) 中选择六月、七月和八月的数据。
循环有效,但 ssta_winter 的输出具有与 ssta_winter[,,i]. 相同的值,如下所示。我已将其设置为 (360,180,29) 的数组。
我认为问题在于变量temp,我想先将它定义为一个数组,但我不知道它应该是什么大小(360,180,3)或(360,180,3*29)以及如何在 temp 中保留循环计数器,当它向下传递到寻找平均阶段时?
ssta_winter = array( data=NA, dim = c(360,180,29))
temp = array( data=NA, dim = c(360,180,3))
for (yr in 1982:2010) {
temp <- ssta_sst[,,year_sst==yr & (month_sst>=6 & month_sst<=8)]
for (i in 1:360) {
for (j in 1:180) {
ssta_winter[i,j,] <- mean(temp[i,j,])
}
}
}
> for (i in 1:29){
+ print(ssta_winter[180,166,i])
+ }
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
[1] 0.2222583
【问题讨论】:
标签: r loops multidimensional-array matrix nested-loops