缺少参数 "env",没有默认的 qplot 或 ggplot R

argument "env" is missing, with no default qplot or ggplot R

我有一个包含 3 列的数据集,我正在尝试为其绘制列 ID 的 pdf。这是我的部分数据的样子。

        day          ID   count
        8754     48112050     1
        8975     48112050     3
        8327     61010046     2
        8346     61010046  3997
        8506     61010046     1
        8605     61010046     1

我为此使用 qplot :

qplot(count, colour=factor(ID), data=df, geom="density")

或 ggplot:

ggplot(df, aes(x=count, colour= ID))+geom_density()

但它不会绘制所有 ID 的 pdf。当我深入研究时,我意识到只有在我的数据中出现 不超过 2 次的 ID 在 qplot 或 ggplot 生成的图中丢失了。在这个例子中,ID:48112050。

我只绘制了这个 ID 的密度,并且它有效。

         day          ID   count
        8754     48112050     1
        8975     48112050     3

但是,当我将我的 df 限制为仅包含此 ID 或任何仅出现 2 次的 ID 时,qplot 或 ggplot 会出现以下错误:

Error in exists(name, envir = env, mode = mode) : 
argument "env" is missing, with no default

这是否意味着 qplot/ggplot 需要至少 3 个点来绘制密度函数?

看起来 ggplot2_1.0.1 确实需要至少三个点来估计密度。但是,此行为似乎在 2015 年 6 月 12 日 this commit 的 github 存储库中发生了变化。目前在 CRAN 上的版本于 3 月发布。我不确定 ggplot2 的下一个版本何时发布。如果此行为对您来说必不可少,您可以尝试直接从 github 中提取源代码,