8

長さの異なる 3 つのデータ セットがあり、3 つすべての密度関数を同じプロットにプロットしたいと考えています。これは、基本グラフィックスを使用すると簡単です。

n <- c(rnorm(10000), rnorm(10000))
a <- c(rnorm(10001), rnorm(10001, 0, 2))
p <- c(rnorm(10002), rnorm(10002, 2, .5))

plot(density(n))
lines(density(a))
lines(density(p))

これは私に次のようなものを与えます:

代替テキスト http://www.cerebralmastication.com/wp-content/uploads/2009/10/density.png

しかし、GGPLOT2 でしか利用できない他の機能を追加したいので、GGPLOT2 でこれを行いたいと思っています。GGPLOT は、実際に私の経験的データを取得して密度を計算したいと考えているようです。私のデータセットの長さが異なるため、それは私にたくさんの唇を与えます. では、これら 3 つの密度を GGPLOT2 でプロットするにはどうすればよいでしょうか。

4

1 に答える 1

12

ggplot2 の幸福の秘訣は、すべてを「長い」(または行列指向の人々が「スパース」と呼ぶと思われる) 形式にすることです。

df <- rbind(data.frame(x="n",value=n),
            data.frame(x="a",value=a),
            data.frame(x="p",value=p))
qplot(value, colour=x, data=df, geom="density")

色が必要ない場合:

qplot(value, group=x, data=df, geom="density")
于 2009-10-06T02:22:08.683 に答える