3

列 ID の pdf をプロットしようとしている 3 つの列を持つデータセットがあります。私のデータの一部は次のようになります。

        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 をプロットするわけではありません。掘り下げてみると、qplot または ggplot によって生成されたプロットでは、データ内で 2 回しか出現しないID のみが欠落していることに気付きました。この例では、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 つの点を必要とすることを意味しますか?

4

1 に答える 1

2

ggplot2_1.0.1密度を推定するには、少なくとも 3 つのポイントが必要なようです。ただし、この動作は 2015 年 6 月 12 日のこのコミットでgithub リポジトリで変更されたようです。現在 CRAN にあるバージョンは 3 月に公開されました。の次のリリースがいつになるかわかりませんggplot2。この動作が必要な場合は、ソースを github から直接プルしてみてください。

于 2015-07-22T16:32:00.187 に答える