在r中创建直方图箱

时间:2015-04-18 10:46:48

标签: r histogram

我有这段代码。

a = c("a", 1)
b = c("b",2)
c = c('c',3)
d = c('d',4)
e = c('e',5)
z = data.frame(a,b,c,d,e)
hist = hist(as.numeric(z[2,]))

我正在尝试使用直方图,使得这些二进制文件为a,b,c,d,e

,频率值为1,2,3,4,5

然而,它给了我一个空屏幕(直方图模型根本没有箱子)

2 个答案:

答案 0 :(得分:1)

您正在绘制第2行每列的因子级别,在这种情况下总是为1。

在创建数据框时,您需要添加stringsAsFactors=FALSE以避免将数字转换为因子。这应该有效:

z = data.frame(a,b,c,d,e,stringsAsFactors=FALSE)
hist(as.numeric(z[2,]))

答案 1 :(得分:1)

也许这对你有用:它创建一个数据框,其中 x 元素是字母 a 到'e',而 y 元素是数字1到5.然后呈现直方图并告诉ggplot不执行任何分箱。

library(ggplot2)
tmp <- data.frame(x = letters[1:5], y = 1:5)
ggplot(tmp, aes(x = x, y = y)) + geom_histogram(stat = "identity")