Frage

kommt Meine aktuelle Datensatz data.df von etwa 420 Studenten, die eine 8-Frage Umfrage teilgenommen haben unter einem von drei Lehrern. escore ist meine Zielvariable von Interesse.


    '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 ...
     

Ich frage mich, wie ich escore Histogramme erzeugen kann, die bedingt auf den Wert von inst für eine gegebene Beobachtung, getrennt sind. In meinem Kopf, könnte der Pseudo-Code wie folgt aussehen:


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

aber natürlich das wird nicht funktionieren: - (

Idealerweise meine Histogramme würde wie folgt aussehen:

3 separate Histogramme von ~ 140 Beobachtungen jeweils gruppiert nach ihrer "inst" Wert http://terpconnect.umd.edu/~briandk/escoreHistogramsbyInstructor-1.png

Wie üblich, ich spüre, es muß eine einfache Möglichkeit, dies zu tun. Egal, in welcher „conditional / Gruppierung“ Sinn ich diese Grafiken aus meinen Daten extrahieren kann, gehe ich davon aus es got für alle Arten von Plots verallgemeinerbar sein, Sie basierend auf bestimmte Bedingungen abhängig machen wollen würden zu.

Auch bin ich wirklich traurig, wenn diese Frage beantwortet wurde, bevor. Meine primäre Schwierigkeit besteht darin, herauszufinden, wie es in eine Art und Weise zu stellen, den Sinn macht.

Vielen Dank im Voraus für Ihre Hilfe!

War es hilfreich?

Lösung

Mit dem Gitter Paket:

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

Wenn X ist Ihr data.frame Objekt.

Andere Tipps

Sie können dies auch in 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)

alt text http://www.cs.princeton.edu/~jcone/hists.png

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top