2015-08-13 56 views
7

一個相對簡單的問題,但答案似乎已經避開了我。目前,我有一個看起來類似於這樣的數據框:按行排除數據框,而不是列

0 0 0 1 1 
0 1 0 1 1 
2 1 1 0 3 

我試圖把它變成一行數據,按行。我使用了unlist函數,它做了我想要的,但是按列向我提供。它給了我這樣的:

0,0,2,0,1,1,0,0,1,1,1,0,1,1,3 

但我想是這樣的:

0,0,0,1,1,0,1,0,1,1,2,1,1,0,3 

我道歉,如果這似乎是一個愚蠢的問題,但我仍然具有R的新手任何幫助(或推薦功能,可能會幫助我處理這一點)將不勝感激。

回答

13

我們可以把數據集的轉置(t),然後使用c得到一個矢量輸出

c(t(df1)) 
#[1] 0 0 0 1 1 0 1 0 1 1 2 1 1 0 3 

這樣一轉,我們轉換「data.frame」到「矩陣」。在data.framematrix,unlist/c這兩個操作都是按列顯示的。因此,換位交換行的列和反之亦然,我們得到預期的結果。

+1

難以置信的簡單。謝謝你快速的回覆! –

0

您也可以嘗試as.vector()

x<-matrix(c(0,0,2,0,1,1,0,0,1,1,1,0,1,1,3),3,5) 

x 
    [,1] [,2] [,3] [,4] [,5] 
[1,] 0 0 0 1 1 
[2,] 0 1 0 1 1 
[3,] 2 1 1 0 3 

as.vector(t(x)) 
[1] 0 0 0 1 1 0 1 0 1 1 2 1 1 0 3 
相關問題