2009-10-06 12 views
7

私は長さの異なる3つのデータセットを持っており、同じプロット上の3つすべての密度関数をプロットしたいと思います。これは、ベースのグラフィックと簡単です:私は、このような何かを与えるggplotとRを使って定義済みの密度関数をプロットする

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)) 

alt text http://www.cerebralmastication.com/wp-content/uploads/2009/10/density.png

しかし、私は本当に私が唯一ある他の機能を追加したいのでGGPLOT2でこれをやりたいですGGPLOT2で利用可能です。 GGPLOTは実際に私の経験的データをとり、私の密度を計算したいと思うようです。私のデータセットの長さが違うので、それは私に唇の束を与えます。だから、GGPLOT2でこれらの3つの密度をプロットするにはどうすればいいですか?あなたは色をしたくない場合は

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") 

:ggplot2で幸福に

+0

私はいつもggplot2を大文字にしていますか? –

+0

私は実際には...それは私の小さな指です。それはちょうどそこにジャンプし、私の許可なくシフトキーを押す。 :)私はそれが1日中大文字で頭字語の多くを入力するの無意識の結果だと思う。私はそれを小文字にする意識的な努力をしています。私はplyrと同じことをします(たとえ私がタイプしたとしても、私はバックスペースにして小文字にする必要があります)。 Hadleyはすでに、私のコードで変数名に大文字小文字を混ぜるためのチョップを壊しました。あなたは私が慎重でないならば、あなたは私をよりきれいにして読みやすくするつもりです! –

答えて

12

秘密は「長い」(または、私が行列指向の人々は「スパース」呼ぶだろうと思います)の形式ですべてのものを置くことです。

qplot(value, group=x, data=df, geom="density") 
+0

あなたは私の夜をずっと良くしました。私はこれに苦しんでいて、それを理解できませんでした。どうもありがとうございます。 –

関連する問題