我有一个这种格式的数据文件:
Weight Industry Type
251,787 Kellogg h
253,9601 Kellogg a
256,0758 Kellogg h
....
我读取数据并尝试使用以下命令绘制直方图:
ce <- read.table("file.txt", header = TRUE)
we = ce[,1]
in = ce[,2]
ty = ce[,3]
hist(we)
但是我收到了这个错误:
错误en hist.default(we):'x'必须是数字。
为了绘制三个变量的直方图,我需要做些什么?
答案 0 :(得分:17)
由于千位分隔符,数据将被读作“非数字”。所以你需要转换它:
we <- gsub(",", "", we) # remove comma
we <- as.numeric(we) # turn into numbers
现在你可以做到
hist(we)
和其他数字操作。
答案 1 :(得分:3)
请注意,您也可以使用列名直接从ce
(删除逗号后)进行绘图:
hist(ce$Weight)
(与使用hist(ce[1])
相反,这会导致相同的“必须是数字”错误。)
这也适用于数据库查询结果。
答案 2 :(得分:3)
使用 dec 参数将","
设置为小数点,方法是添加:
ce <- read.table("file.txt", header = TRUE, dec = ",")