给定2x2矩阵a
,将其转换为2x1数组b
,其中每列是a
的行向量。这在python中真的很容易。在R中有没有一种优雅而明确的方法呢?
> a = np.array([[1, 2], [3, 4]])
array([[1, 2],
[3, 4]])
> b = a[:, None, :]
array([[[1, 2]],
[[3, 4]]])
在R中我想要这个输入:
a = matrix(1:4, ncol=2, byrow = T)
[,1] [,2]
[1,] 1 2
[2,] 3 4
要修改以匹配此输出:
b = array(1:4, dim=c(2,1,2))
, , 1
[,1]
[1,] 1
[2,] 2
, , 2
[,1]
[1,] 3
[2,] 4
答案 0 :(得分:2)
看起来你可能真的试图获得2x1x2阵列?所以在R中你将矩阵转换为数组(这些是单独的类),指定新数组的预期尺寸。
a <- matrix(c(1,2,3,4), 2, byrow=TRUE)
b <- array(t(a), dim=c(2,1,2))
b