R 向三维阵列的第一个维度添加矩阵
很抱歉,如果标题不是很准确,我没有找到一个简单的方式来表达它。我在R的一个看似简单的操作中遇到了麻烦 假设我有一个矩阵a2x2(元素aiji=1,2j=1,2),我想在一个三维数组b2x2x2中“变换”这个矩阵,其中:Bhij=Aij表示h=1,2。 我有以下代码: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
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或更高,如果我是正确的,你的解决方案将不起作用。很抱歉,我在第一次尝试另一个维度时犯了一些错误。我选择你的答案是因为它的简单性。非常感谢你提供的信息,因为我可能需要组合除第一个之外的维度的矩阵,这可能非常有用!非常感谢您提供的这些信息,因为我可能需要组合除第一个维度以外的维度的矩阵,这可能非常有用!