r - 将矩阵添加到数组

标签 r arrays matrix

我想向数组添加一个矩阵。

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

最佳答案

基于 matrixarray 对象只是具有维度的向量这一事实,您可以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/

相关文章:

java - 对 "sorted"数组进行排序

c# 我如何在消息框(控制台应用程序)中显示此数组

r - 如何合并数据集而不在一个有多个值的地方循环?

c - 查找矩阵中的最大元素

arrays - 计算数组中不同元素的数量

python - 如何将一个数组插入到另一个只有零的数组中(使用 Numpy)

r - 在数据框中每组随机采样 n 行

RSelenium:从 Google 搜索中单击 for 循环中的后续链接

r - 如何使内联 r 脚本在 RMarkdown 报告中可见?

r - 使用 R 在 Windows 7 中安装 Pandoc