我有"myvariable"
的数字变量14e^06 elements
,我想绘制一个直方图来显示每个bin的相对频率。
考虑以下样本数据:
set.seed(1234)
wdata = data.frame(
sex = factor(rep(c("F", "M"), each=200)),
weight = c(rnorm(200, 55), rnorm(200, 58)))
我们可以绘制正常频率直方图:
require(ggplot2)
ggplot(wdata, aes(x = weight)) +
geom_histogram(aes(color = sex))
或者我们可以绘制相对频率的直方图
require(ggplot2)
ggplot(wdata, aes(x = weight)) +
geom_histogram(aes(y = (..count..)/sum(..count..)))
现在,考虑我的真实数据:
temp <- c(291L, 2440L, 1317L, 67L, 2258L, 3992L, 202L, 224L, 6761L, 9671L,
+ 218L, 4609L, 2173L, 5691L, 39296L)
myvariable <- sample(temp, 14000000, replace = TRUE)
require(ggplot2)
mydf <- data.frame(myvariable)
ggplot(mydf, aes(x = myvariable)) +
geom_histogram(aes(y = (..count..)/sum(..count..)))
绘制相对频率直方图的过程变得无限慢,因此,唯一的选择是使用geom_density进行绘图,但这不是我需要的。
我的问题是:为了获得数字变量的相对频率直方图,你能建议我一个更好的方法吗?