【发布时间】:2014-04-06 18:54:43
【问题描述】:
这是我在准备将直方图放入论文时注意到的。我注意到频率没有反映图表中显示的正确计数。为了仔细检查,我在 excel 中尝试了这个,结果证明使用 ggplot2 在 R 中显示的频率确实不正确。我注意到在我的语法中我应用了 xlim 函数。我出于好奇将其删除以查看结果,然后神奇地 ggplot2 生成了正确的直方图!
这是我正在使用的代码:
ggplot(data, aes(x = variable) )+
geom_histogram(binwidth = 1) +
xlim(0, 40)
生成正确的直方图是这样的:
hist(data$variable, breaks = seq(0, 40, 1), ylim = c(0,700))
有人可以帮我吗?我花了很多时间试图让它工作,但无济于事。任何帮助将不胜感激。
# example data
variable <- c(1L, 1L, 1L, 3L, 4L, 1L, 2L, 1L, 2L, 0L, 1L, 2L, 1L, 1L, 0L,
3L, 1L, 2L, 2L, 3L, 2L, 3L, 2L, 2L, 1L, 0L, 5L, 0L, 0L, 2L, 1L,
1L, 2L, 1L, 3L, 2L, 5L, 4L, 3L, 2L, 3L, 0L, 1L, 1L, 1L, 1L, 2L,
0L, 2L, 1L, 3L, 1L, 4L, 2L, 6L, 2L, 1L, 6L, 5L, 5L, 1L, 1L, 0L,
2L, 1L, 1L, 0L, 0L, 1L, 2L, 1L, 1L, 5L, 2L, 1L, 0L, 3L, 2L, 2L,
4L, 6L, 3L, 2L, 1L, 6L, 1L, 4L, 2L, 1L, 2L, 1L, 1L, 1L, 0L, 1L,
1L, 0L, 2L, 3L, 1L, 3L, 2L, 2L, 1L, 1L, 2L, 13L, 3L, 2L, 5L,
5L, 1L, 3L, 0L, 2L, 1L, 2L, 1L, 0L, 10L, 2L, 0L, 1L, 2L, 2L,
0L, 1L, 4L, 0L, 2L, 0L, 0L, 1L, 0L, 1L, 13L, 15L, 2L, 4L, 4L,
12L, 7L, 4L, 4L, 0L, 0L, 1L, 0L, 1L, 2L, 6L, 3L, 0L, 2L, 2L,
0L, 1L, 5L, 0L, 3L, 3L, 4L, 1L, 1L, 3L, 20L, 2L, 1L, 0L, 4L,
4L, 5L, 6L, 9L, 2L, 4L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 0L, 1L, 1L,
1L, 2L, 0L, 3L, 2L, 1L, 2L, 1L, 2L, 4L, 18L, 16L, 3L, 3L, 1L,
3L, 1L, 7L, 13L, 2L, 3L, 2L, 4L, 2L, 2L, 1L, 0L, 0L, 0L, 0L,
1L, 2L, 1L, 1L, 1L, 1L, 3L, 2L, 2L, 2L, 4L, 3L, 4L, 4L, 5L, 2L,
1L, 1L, 6L, 4L, 0L, 3L, 3L, 1L, 4L, 0L, 0L, 2L, 2L, 1L, 0L, 1L,
1L, 0L, 0L, 1L, 2L, 4L, 1L, 2L, 1L, 0L, 0L, 5L, 2L, 10L, 4L,
1L, 2L, 3L, 2L, 2L, 1L, 2L, 0L, 4L, 2L, 1L, 0L, 0L, 3L, 1L, 3L,
1L, 1L, 0L, 0L, 0L, 1L, 4L, 2L, 2L, 3L, 0L, 4L, 1L, 34L, 20L,
1L, 3L, 3L, 1L, 7L, 5L, 1L, 3L, 5L, 2L, 1L, 1L, 3L, 0L, 1L, 4L,
1L, 2L, 2L, 1L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 1L, 5L, 4L, 5L,
9L, 9L, 3L, 5L, 1L, 2L, 1L, 2L, 1L, 0L, 3L, 2L, 1L, 0L, 2L, 1L,
2L, 0L, 1L, 2L, 1L, 1L, 1L, 2L, 0L, 1L, 5L, 9L, 8L, 0L, 5L, 2L,
3L, 1L, 0L, 0L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L,
2L, 2L, 1L, 2L, 0L, 1L, 1L, 1L, 7L, 0L, 1L, 1L, 1L, 1L, 2L, 2L,
3L, 2L, 0L, 1L, 5L, 6L, 3L, 6L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 1L, 1L, 1L, 0L, 1L, 1L, 2L, 0L, 1L, 0L, 0L, 1L,
3L, 2L, 3L, 3L, 3L, 4L, 6L, 7L, 6L, 3L, 1L, 0L, 1L, 0L, 0L, 2L,
1L, 1L, 1L, 2L, 1L, 3L, 1L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 2L, 2L,
0L, 0L, 1L, 2L, 0L, 3L, 3L, 0L, 3L, 1L, 1L, 2L, 3L, 0L, 0L, 0L,
0L, 1L, 1L, 3L, 2L, 0L, 4L, 3L, 0L, 0L, 1L, 1L, 1L, 2L, 1L, 1L,
0L, 1L, 2L, 2L, 1L, 2L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 3L, 0L, 1L,
1L, 1L, 0L, 0L, 3L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 2L, 3L, 1L, 0L,
1L, 4L, 2L, 1L, 0L, 2L, 2L, 1L, 1L, 2L, 3L, 2L, 2L, 4L, 1L, 2L,
0L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 2L, 1L, 1L,
1L, 1L, 3L, 1L, 1L, 0L, 3L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 2L, 1L,
1L, 1L, 0L, 0L, 5L, 8L, 6L, 4L, 2L, 1L, 1L, 0L, 1L, 0L, 2L, 1L,
1L, 1L, 1L, 0L, 1L, 0L, 2L, 0L, 1L, 0L, 3L, 3L, 1L, 0L, 1L, 1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 0L, 1L, 2L, 3L, 3L, 2L, 3L, 2L, 1L,
1L, 0L, 0L, 1L, 0L, 0L, 2L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 2L, 0L,
2L, 0L, 1L, 2L, 2L, 0L, 0L, 0L, 1L, 0L, 0L, 4L, 0L, 1L, 0L, 0L,
2L, 1L, 0L, 4L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 1L,
1L, 2L, 1L, 0L, 3L, 5L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L,
0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 2L, 1L, 0L, 0L, 3L,
2L, 0L, 1L, 0L, 2L, 2L, 3L, 2L, 1L, 0L, 0L, 2L, 0L, 2L, 1L, 1L,
0L, 0L, 0L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 4L,
0L, 1L, 0L, 0L, 2L, 2L, 0L, 2L, 0L, 4L, 3L, 3L, 4L, 1L, 2L, 1L,
1L, 1L, 1L, 2L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 1L,
2L, 1L, 1L, 0L, 1L, 3L, 3L, 2L, 1L, 1L, 1L, 4L, 2L, 2L, 3L, 2L,
1L, 3L, 1L, 4L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 2L, 0L, 1L, 1L, 1L,
1L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 4L, 3L, 3L, 1L, 3L, 3L, 3L,
2L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 1L,
1L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 5L, 5L, 2L, 4L, 3L, 7L, 5L, 3L,
0L, 1L, 2L, 2L, 1L, 3L, 2L, 0L, 0L, 0L, 1L, 0L, 2L, 1L, 0L, 1L,
1L, 1L, 0L, 1L, 0L, 0L, 1L, 2L, 7L, 11L, 5L, 8L, 15L, 6L, 6L,
0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 4L, 1L, 0L, 1L, 0L, 0L, 0L,
1L, 1L, 1L, 1L, 1L, 0L, 2L, 14L, 19L, 8L, 9L, 3L, 4L, 0L, 0L,
0L, 1L, 1L, 0L, 0L, 2L, 1L, 1L, 2L, 1L, 0L, 0L, 1L, 0L, 1L, 0L,
2L, 1L, 1L, 7L, 7L, 3L, 4L, 6L, 2L, 1L, 2L, 1L, 1L, 1L, 0L, 1L,
0L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 2L, 0L, 0L, 1L, 1L,
0L, 2L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 5L, 2L, 2L,
1L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L,
2L, 0L, 0L, 1L, 1L, 0L, 1L, 2L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L,
0L, 0L, 2L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 2L, 1L,
2L, 1L, 0L, 1L, 0L, 2L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L,
2L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 2L, 1L, 1L, 1L,
1L, 0L, 1L, 0L, 1L, 1L, 11L, 1L, 0L, 0L, 1L, 1L, 3L, 4L, 0L,
0L, 0L, 1L, 6L)
data <- data.frame(variable)
【问题讨论】:
-
您能否发布有关您正在使用的变量的信息,例如
summary(data$variable的输出? -
最小。第一曲。中位数平均第三曲。最大限度。 0.00 0.00 1.00 1.69 2.00 34.00 我仍在努力解决这个问题!看起来它与'binwidth'有关。使用 hist() 函数时,直方图正确绘制... :(
-
其他,在第一次通话中你使用
binwidth=1在第二次你不要......是这样还是只是一个错字? -
也可以重现的例子会有所帮助,例如输入(数据$变量)
-
不是错字。在没有指定 binwidth 的情况下它可以正常工作。但是,当我使用指定 binwidth 的 hist() 函数时,它仍然有效。此代码有效: my.bin.width