Учитывая матрицу 2x2 a
, преобразуйте ее в массив 2x1 b
, где каждый столбец представляет собой вектор строки из a
. Это действительно легко сделать в python. Есть ли элегантный и замкнутый способ сделать это в R?R equivlent python numpy slice: [:, None,:]
> 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
См. Мой ответ ниже. – doicomehereoften1