将矩阵转换为R中的向量数
问题描述:
是否可以将包含6行和4列的矩阵转换为6个向量, 每行都将是一个向量。将矩阵转换为R中的向量数
m = matrix(c(2, 4, 3, 1, 5, 7,4,8,9,4,5,0,2,5,7,6,1,8), nrow=6,ncol=3)
m
[,1] [,2] [,3]
[1,] 2 4 2
[2,] 4 8 5
[3,] 3 9 7
[4,] 1 4 6
[5,] 5 5 1
[6,] 7 0 8
答
一种选择是split
由matrix
的row
打造 'N' vector
S其中 'N' 的list
是原matrix
lst <- split(m, row(m))
注意的行数:是最好创建一个list
而不是在全局环境中有许多对象。此外,目前还不清楚为什么需要这样做
答
你会试试这个例子,你可以得到这个想法。
> b <- matrix(1:20, nrow = 2, ncol = 10)
> sapply(1:ncol(b), function(i) paste(b[,i],collapse=","))
[1] "1,2" "3,4" "5,6" "7,8" "9,10" "11,12" "13,14" "15,16"
[9] "17,18" "19,20"
答
与lapply
A液:
lapply(as.data.frame(t(m)), c)
感谢akrun。那就是我想要的到底是什么 – Noor