2011-11-12 13 views
4

私は男性と女性の学生のために数学のテストのスコアのサンプルを持っています。私は各性別ごとにQQプロットを描いて、それぞれが正規分布しているかどうかを確認したいと思います。私はサンプル全体のQQプロットを描く方法を知っていますが、どうすればそれらを別々に描くことができますか?ここでQQプロットをプログラミングする

+0

あなたのデータがどのようなものか、試したことや何が起こったかを示す短い自己完結型の例(https://github.com/hadley/devtools/wiki/Reproducibility)を提供できますか? (最初に、データセット全体のプロットを作成できる場合は、サブセットを使用して分割して同じコードを使用してください) – PaulHurleyuk

答えて

5

baseグラフィックスを使用したシンプルなソリューションです。その後、

scores <- rnorm(200, mean=12, sd=2) 
gender <- gl(2, 50, labels=c("M","F")) 
opar <- par(mfrow=c(1,2)) 
for (g in levels(gender)) 
    qqnorm(scores[gender==g], main=paste("Gender =", g)) 
par(opar) 

よりエレガントなlatticeソリューション:

qqmath(~ scores | gender, data=data.frame(scores, gender), type=c("p", "g")) 

可能なカスタマイズのより多くの議論や例えばqqmathのオンラインヘルプを参照してください。 。

+1

+1 for 'qqmath' - 素晴らしいヒント! – Iterator

+3

'ggplot2'の代替は' stat_qq'です –

+0

いくつかの要素がある場合は、 'qqmath'に' interaction'を使用して、それぞれの相互作用の分布を得ることができます。例えば。 'qqmath(〜応答|相互作用(因子1、因子2)、データ=データ、型= c(" p "、" g "))' – NOTM

関連する問題