我正在尝试使用ggplot构建直方图。 我不太了解binwidth的工作原理。
library(ggplot2)
set.seed(10)
testData = data.frame(x=rlnorm(100, log(1), log(2.5)))
ggplot(data=testData, aes(x=testData$x)) +
geom_histogram(binwidth=1)+scale_x_log10()
每个数量级如何获得1 bar? (即10 ^ -1和10 ^ 0之间的1 bar,10 ^ 0和10 ^ 1之间的1 bar,......)
答案 0 :(得分:1)
一种方法是使用cut()
函数对数据进行分组,然后按组进行计数
library(ggplot2)
set.seed(10)
x=rlnorm(100, log(1), log(2.5))
testData = data.frame(x = x, grp = cut(x, c(0.1, 1, 10)))
ggplot(data=testData, aes(grp)) +
stat_count()