我确定这个问题必须是微不足道的,但我在堆栈溢出时找不到类似的问题。我希望合并array.A
和array.B
,以便result
是数组A和B的值数组数组。
例如:
array.A <- array(1:9, dim=c(3,3))
array.B <- array(LETTERS[seq( from = 1, to = 9 )], dim=c(3,3))
> array.A
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> array.B
[,1] [,2] [,3]
[1,] "A" "D" "G"
[2,] "B" "E" "H"
[3,] "C" "F" "I"
我希望合并它们,以便生成的数组看起来像这样:
> result
[,1] [,2] [,3]
[1,] ["A",1] ["D",4] ["G",7]
[2,] ["B",2] ["E",5] ["H",8]
[3,] ["C",3] ["F",6] ["I",9]
我尝试过使用cbind
和rbind
,但这不是我想要的(我不是要连接数组)。我似乎无法找到一个简单的解决方案。
提前致谢。
答案 0 :(得分:2)
它不是一种典型的结构,但您可以将list
个对象放在matrix
或array
中:
out <- array(Map(list, array.A, array.B), dim=dim(array.A) )
# [,1] [,2] [,3]
#[1,] List,2 List,2 List,2
#[2,] List,2 List,2 List,2
#[3,] List,2 List,2 List,2
out[1,1]
#[[1]]
#[[1]][[1]]
#[1] 1
#
#[[1]][[2]]
#[1] "A"
out[1,1][[1]][1]
#[[1]]
#[1] 1
out[1,1][[1]][2]
#[[1]]
#[1] "A"