我想向数组添加一个矩阵。
databox<-matrix(1:30998*21,30998, 21)
resultemptybox <- array(rep(NA,30998*21*100), dim = c(30998, 21, 99))
resultemptybox[[1]] <- databox # I would like to add databox on the first dim of resultemptybox
resultbox1 <- array(c(databox,resultemptybox), dim = c(30998,21,100))
但是 str() 显示,
str(resultbox1)
List of 65095800
resultemptybox 的第一个维度上没有数据。
提前致谢,
更新
感谢评论,我想添加有关我想要生成的数据和输出的更多详细信息。
这是我的示例数据。
databox <- matrix(1:2*3,2,3)
resultemptybox <- array(rep(NA,2*3*3), dim = c(2,3,2))
我想要产生的输出是
> resultbox
, , 1
[,1] [,2] [,3]
[1,] 3 3 3
[2,] 6 6 6
, , 2
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
, , 3
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
最佳答案
基于 matrix
和 array
对象只是具有维度的向量这一事实,您可以c
将它们连接在一起,然后再添加一个第三维:
da <- dim(resultemptybox)
array(c(databox, resultemptybox), dim=replace(da, 3, da[3]+1))
#, , 1
#
# [,1] [,2] [,3]
#[1,] 3 3 3
#[2,] 6 6 6
#
#, , 2
#
# [,1] [,2] [,3]
#[1,] NA NA NA
#[2,] NA NA NA
#
#, , 3
#
# [,1] [,2] [,3]
#[1,] NA NA NA
#[2,] NA NA NA
关于r - 将矩阵添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76569536/