2013-02-17 33 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是我的列索引没有工作)