2012-01-18 62 views
0

我有一个很大的数据集txt格式分隔一个空格,我读R。数据集包含8或9位小数点的数字。当我想要做的基本的统计分析,我得到这个错误:“数字”在R的错误

Error in hist.default(GR, prob = TRUE) : 'x' must be numeric 

这是怎么了,我写它:

Data = as.matrix(read.table("C:/MyData/Data.txt"),header=TRUE); 

GR=Data[,14]; 

hist(GR, prob=TRUE); 

谁能帮助? 在此先感谢。

+1

您的数据中可能缺少值或字符串值。检查'class(GR)'以确定数据的类别。我想这将是“因素”。 – DrDom 2012-01-18 07:02:07

+3

是的,看起来像你阅读文本。你可能错误地指定了十进制符号或类似的东西?试试'str(Data)'可能是 – Seb 2012-01-18 07:04:13

+1

如果你做了一个可用数据文件的代码片段(可能是前10行),这也会有所帮助。 – 2012-01-18 08:48:59

回答

1

我觉得你最大的问题是一些错位的括号 - 您的命令或许应该读

as.matrix(read.table("C:/MyData/Data.txt",header=TRUE)) 

因为header=TRUE是一个参数read.table,不as.matrix(它被悄悄忽略)。上面描述的修正(使用as.numeric进行转换)将会起作用,但会在数据集的顶部留下一行NA值,这些值位于标题名称的顶部,并且会使您没有有意义的列名称其中可能是某个地方的问题。