使用数组中的特定数据子集

时间:2016-07-06 19:51:02

标签: arrays r loops

我有一个3D阵列。

dim[Ad]
[1] 144 69 60

前两个维度代表一个网格框(144 * 69)。第三个维度代表了60种不同的气候模型输出集合。

我想创建一个循环,从第三维中提取第一个集合,并为每个后续集合应用函数等等。

1 个答案:

答案 0 :(得分:1)

鉴于

( arr <- array(rep(c(1,2,3), each=4), dim=c(2,2,3)) )
# , , 1
# 
#      [,1] [,2]
# [1,]    1    1
# [2,]    1    1
# 
# , , 2
# 
#      [,1] [,2]
# [1,]    2    2
# [2,]    2    2
# 
# , , 3
# 
#      [,1] [,2]
# [1,]    3    3
# [2,]    3    3
你可以这样。

# sum values for ,,1 ,,2 & ,,3 each: 
apply(arr, 3, sum)
# [1]  4  8 12

# or: show unique values for each: 
apply(arr[,,2:3], 3, function(x) unique(as.vector(x)) )
# [1] 2 3