CSV文件到R中的直方图

时间:2013-11-06 06:03:34

标签: r csv histogram

我是R的新手,我试图从csv文件(只有一行值)创建一个直方图(值和频率为轴)。知道我怎么能这样做吗?

3 个答案:

答案 0 :(得分:8)

我也是R新手,我遇到了同样的事情。实际上,我犯了两个不同的错误,所以我会在这里描述它们。

错误1:将频率表传递给hist()。最初我试图将频率表传递给hist(),而不是传递原始数据。解决此问题的一种方法是使用rep()(“复制”)函数将频率表分解回原始数据集,如下所述:

不过,我只是决定读取原始数据集而不是频率表。

错误2:错误的数据类型。我的原始数据CSV文件包含两列:hostnamebookings(想法是计算每个主机在生成期间生成的预订数量一些给定的时间段)。我把它读到一张桌子里。

> tbl <- read.csv('bookingsdata.csv')

然后,当我尝试从第二列生成直方图时,我这样做了:

> hist(tbl[2])

这给了我在评论中提到的“'x'必须是数字”错误。 (它试图将“预订”列标题作为数据值读取。)

这解决了它:

> hist(tbl$bookings)

答案 1 :(得分:5)

你应该真正开始阅读一些基本的R手册...... CRAN提供了很多内容(查看手册和贡献部分)

无论如何:

setwd("path/to/csv/file")
myvalues <- read.csv("filename.csv")
hist(myvalues, 100) # Example: 100 breaks, but you can specify them at will

请参阅这些功能的手册页以获取更多帮助(可通过?read.table?read.csv?hist访问)。

答案 2 :(得分:4)

要绘制直方图,值必须是数字类,即数据必须是数值。这里x的值似乎是其他类。

运行以下命令并查看:

sapply(myvalues[1,],class)