3

私の現在のデータセットdata.dfは、3 人のインストラクターのうちの 1 人の下で 8 つの質問の調査を受けた約 420 人の学生からのものです。escore関心のある結果変数です。


    'data.frame':   426 obs. of  10 variables:
     $ ques01: int  1 1 1 1 1 1 0 0 0 1 ...
     $ ques02: int  0 0 1 1 1 1 1 1 1 1 ...
     $ ques03: int  0 0 1 1 0 0 1 1 0 1 ...
     $ ques04: int  1 0 1 1 1 1 1 1 1 1 ...
     $ ques05: int  0 0 0 0 1 0 0 0 0 0 ...
     $ ques06: int  1 0 1 1 0 1 1 1 1 1 ...
     $ ques07: int  0 0 1 1 0 1 1 0 0 1 ...
     $ ques08: int  0 0 1 1 1 0 1 1 0 1 ...
     $ inst  : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
     $ escore: int  3 1 5 5 3 3 4 4 2 5 ...
     

特定の観測escore値に基づいて条件付きで分離されたヒストグラムを どのように生成できるのか疑問に思っています。inst私の頭では、疑似コードは次のようになります。


    par(mfrow=c(1,3)) 
    hist(escore, data.df$inst = 1)
    hist(escore, data.df$inst = 2)
    hist(escore, data.df$inst = 3)

もちろん、それはうまくいきません:-(

理想的には、ヒストグラムは次のようになります。

「inst」値に従ってグループ化された、それぞれ約 140 個の観測値の 3 つの個別のヒストグラム http://terpconnect.umd.edu/~briandk/escoreHistogramsbyInstructor-1.png

いつものように、これを行う簡単な方法が必要だと思います。データからこれらのグラフを抽出できる「条件付き/グループ化」の意味で、特定の条件に基づいて作成したいあらゆる種類のプロットに対して一般化できる必要があると思います

また、この質問が以前に回答されていたら、本当に申し訳ありません。私の主な困難は、意味のある方法でそれを尋ねる方法を理解することです.

よろしくお願いします。

4

2 に答える 2

14

ラティス パッケージを使用します。

library(lattice)
histogram( ~ escore | inst, data=X)

ifXは data.frame オブジェクトです。

于 2009-10-05T17:46:21.400 に答える
12

ggplot2 でこれを行うこともできます。

data.df <- data.frame(inst = factor(sample(3, 426, replace=TRUE)), 
                      escore = sample(5, 426, replace=TRUE))
qplot(escore, fill=inst, data=data.df) + facet_wrap(~inst, ncol=3)

代替テキスト http://www.cs.princeton.edu/~jcone/hists.png

于 2009-10-05T18:19:59.617 に答える