Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 向三维阵列的第一个维度添加矩阵_R - Fatal编程技术网

R 向三维阵列的第一个维度添加矩阵

R 向三维阵列的第一个维度添加矩阵,r,R,很抱歉,如果标题不是很准确,我没有找到一个简单的方式来表达它。我在R的一个看似简单的操作中遇到了麻烦 假设我有一个矩阵a2x2(元素aiji=1,2j=1,2),我想在一个三维数组b2x2x2中“变换”这个矩阵,其中:Bhij=Aij表示h=1,2。 我有以下代码: A=cbind(c(1,2), c(3,4)) B<-array(NA, dim=c(2,2,2) for (h in 1:2){ B[h,,]<-A } A=cbind(c(1,2),c(3,4)) B在R和r

很抱歉,如果标题不是很准确,我没有找到一个简单的方式来表达它。我在R的一个看似简单的操作中遇到了麻烦

假设我有一个矩阵a2x2(元素aiji=1,2j=1,2),我想在一个三维数组b2x2x2中“变换”这个矩阵,其中:Bhij=Aij表示h=1,2。 我有以下代码:

A=cbind(c(1,2), c(3,4))
B<-array(NA, dim=c(2,2,2)
for (h in 1:2){
   B[h,,]<-A
}
A=cbind(c(1,2),c(3,4))

B在R和
rep
中使用列主导存储系统的简单方法如下:

B[] <- rep(A, each=2)

B[]在R和
rep
中使用列主导存储系统的简单方法如下:

B[] <- rep(A, each=2)

B[]有一个名为abind的包,它包含一个同名函数,可以在一个步骤中为您实现这一点:

library(abind)
B <-abind(A,A, along=3)
B
#----------------
, , 1

     [,1] [,2]
[1,]    1    3
[2,]    2    4

, , 2

     [,1] [,2]
[1,]    1    3
[2,]    2    4
库(abind)

B有一个包abind,它包含一个同名函数,可以在一个步骤中为您实现这一点:

library(abind)
B <-abind(A,A, along=3)
B
#----------------
, , 1

     [,1] [,2]
[1,]    1    3
[2,]    2    4

, , 2

     [,1] [,2]
[1,]    1    3
[2,]    2    4
库(abind)

B谢谢你的回答,如果第一个维度的长度为2,那么这很有效。然而,如果它是3或更高,如果我是正确的,你的解决方案将不起作用。很抱歉,我在第一次尝试另一个维度时犯了一些错误。我选择你的答案是因为它的简单。谢谢你的回答,如果第一维度的长度为2,这很有效。然而,如果它是3或更高,如果我是正确的,你的解决方案将不起作用。很抱歉,我在第一次尝试另一个维度时犯了一些错误。我选择你的答案是因为它的简单性。非常感谢你提供的信息,因为我可能需要组合除第一个之外的维度的矩阵,这可能非常有用!非常感谢您提供的这些信息,因为我可能需要组合除第一个维度以外的维度的矩阵,这可能非常有用!