2013-02-17 52 views
9

我有這個data.frame基於R轉換data.frame簡單的矢量

> print(v.row) 
    X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 
57 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167 167 165 177 177 177 177 
> dput(v.row) 
structure(list(X1 = 177, X2 = 165, X3 = 177, X4 = 177, X5 = 177, 
    X6 = 177, X7 = 145, X8 = 132, X9 = 126, X10 = 132, X11 = 132, 
    X12 = 132, X13 = 126, X14 = 120, X15 = 145, X16 = 167, X17 = 167, 
    X18 = 167, X19 = 167, X20 = 165, X21 = 177, X22 = 177, X23 = 177, 
    X24 = 177), .Names = c("X1", "X2", "X3", "X4", "X5", "X6", 
"X7", "X8", "X9", "X10", "X11", "X12", "X13", "X14", "X15", "X16", 
"X17", "X18", "X19", "X20", "X21", "X22", "X23", "X24"), row.names = 57L, class = "data.frame") 

我會刪除爲了得到一個簡單的vector所有的行和列名。但as.vector函數不起作用(它返回data.frame)。

> as.vector(v.row) 
    X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 
57 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167 167 165 177 177 177 177 

回答

17

?unlist看到

給定一個列表結構的x,不公開簡化它來產生包含所有發生在x中的原子分量的矢量 。

unlist(v.row) 
[1] 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167 
     167 165 177 177 177 177 

編輯

你可以用as.vector也做到這一點,但你需要提供正確的模式:

as.vector(v.row,mode='numeric') 
[1] 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 
     167 167 165 177 177 177 177 
+0

as.vector(v.row,mode ='numeric')爲我工作。 – 2017-07-07 08:42:09

1

我從CSV該數據幀

x <- as.numeric(dataframe$column_name) 

效果很好。 (與dataframe[3]相同,3是我的列索引沒有工作)