2012-12-07 38 views
2

我这几天学习一些的R使用HIST(),我有一个文件中的一些数据:转换表到载体中于r

0.7300719696546073 0.5508739992014652 0.2371535688287479 
0.9359803887798046 0.8249035576959065 0.3715476175169042 
0.3403916445508408 0.8036890953987708 0.8079012937499597 

就这样...(但更强壮)

data = read.table("data.txt") 

在某些操作中,我想对一个向量中的所有数据使用hist(data) 但我得到:'x' must be numeric

我尝试不同的东西一样as.vector(data)lapply(c(data), as.numeric)但没有任何作品。

你能帮我一下吗?

解决:不公开(数据)
PS:预计到不行,因为我有100(COLS)的表* 5000(行)

回答

7
unlist(data) 

会做的伎俩。这是将数据帧转换为矢量的简单方法。


与您的数据:

data <- read.table(text=" 
0.7300719696546073 0.5508739992014652 0.2371535688287479 
0.9359803887798046 0.8249035576959065 0.3715476175169042 
0.3403916445508408 0.8036890953987708 0.8079012937499597") 

unlist(data) 

结果是一个矢量(有命名的元素):

 V11  V12  V13  V21  V22  V23  V31  V32  V33 
0.7300720 0.9359804 0.3403916 0.5508740 0.8249036 0.8036891 0.2371536 0.3715476 0.8079013 

如果你不希望有名称,使用参数use.names = FALSE in unlist

unlist(data, use.names = FALSE) 

[1] 0.7300720 0.9359804 0.3403916 0.5508740 0.8249036 0.8036891 0.2371536 0.3715476 0.8079013 
+0

这真的有效。非常感谢你 –

0

as.numeric(as.matrix(data))会做到这一点。不是特别。优雅!另外,请注意调用您的数据和数据。您可以使用str(data)来查看数据的结构。但是,read.table返回data frame

unlist(data)的回答相比,此方法不会为您提供自动构建的变量名称(V1 ... Vn)。