海量数据集

时间:2017-12-20 11:34:51

标签: r histogram percentage numeric

我有"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进行绘图,但这不是我需要的。

我的问题是:为了获得数字变量的相对频率直方图,你能建议我一个更好的方法吗?

0 个答案:

没有答案