2017-09-15 169 views
2

是否可以將包含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 

回答

1

一種選擇是splitmatrixrow打造 'N' vector S其中 'N' 的list是原matrix

lst <- split(m, row(m)) 

注意的行數:是最好創建一個list而不是在全局環境中有許多對象。此外,目前還不清楚爲什麼需要這樣做

+1

感謝akrun。那就是我想要的到底是什麼 – Noor

1

你會試試這個例子,你可以得到這個想法。

> 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" 
0

lapply A液:

lapply(as.data.frame(t(m)), c)