Split-Plot in R.

8

Ich habe einen Datensatz von Benchmarks und Unterproben in jedem Benchmark. Ich führe diese Benchmarks und ihre Unterproben auf Subjekt-Maschinen aus. Das von den Teilstichproben untersuchte 'Individuum' ist für jede Subjektmaschine gleich, und die Benchmarks sind für jede Subjektmaschine gleich.nmp

Wie führe ich in dieser Situation eine ANOVA in R durch?

Hauptsächlich möchte ich den Gesamtmittelwert und die Konfidenzintervalle berechnen. Ich interessiere mich überhaupt nicht für Sub-Sample-Mittel, aber ich möchte die Replikation dort im endgültigen Vertrauen und in den endgültigen Mitteln erkennen. Ich mag mich jedoch für Benchmark-Mittel interessieren. Ich kann nicht herausfinden, wie diese Anova in R eingerichtet wird. Ich möchte in der Lage sein, die Mittelwerte durch manuelle Berechnung zu replizieren.

Ich habe versucht glm, anova, aov, und , lmeaber ich bin total verwirrt. Ich denke, ANOVA-Ergebnisse sollten für zwei Subjektmaschinen dem verschachtelten Mittelwert von Maschine / Benchmark / Checkpoint entsprechen, aber die Mittelwerte sind nicht gleich, wenn ich sie ausprobiere.

Bearbeiten:

Ich fange an, einen Hinweis von http://zoonek2.free.fr/UNIX/48_R/13.html zu bekommen

Alex Brown
quelle
1
Diese Frage wurde in dieser Liste mehrmals gestellt. Dies ist die kurze Antwort. Ich schreibe später am Tag eine ausführliche Antwort.
Suncoolsu
Vielen Dank für Ihre schnelle Antwort. Es tut mir leid, dass ich die anderen Antworten nicht gefunden habe, aber ich habe noch nicht genug Ahnung von der Terminologie, um zu wissen, wie man die Frage stellt.
Alex Brown
Ich denke, wir alle lernen hier. Es ist in Ordnung!
Suncoolsu

Antworten:

13

Der Hauptunterschied zwischen dem Split-Plot-Design und anderen Designs wie dem vollständig randomisierten Design und Variationen von Blockdesigns besteht in der Verschachtelungsstruktur der Probanden, dh wenn die Beobachtungen mehr als einmal von demselben Probanden (experimentelle Einheit) stammen. Dies führt zu einer Korrelationsstruktur innerhalb eines Subjekts im Split-Plot-Design, die sich von der Korrelationsstruktur in einem Block unterscheidet.

Nehmen wir ein Beispielbild eines Datensatzes aus einem einfachen Split-Plot-Design (unten). Dies ist eine Studie über die Zusammensetzung der Ernährung in Bezug auf die Gesundheit. Vier Diäten wurden zufällig 12 Probanden zugeordnet, die alle einen ähnlichen Gesundheitszustand hatten. Der Basisblutdruck wurde ermittelt, und ein Maß für die Gesundheit war die Blutdruckänderung nach zwei Wochen. Der Blutdruck wurde morgens und abends gemessen. (Das Beispiel wurde aus Casellas Statistical Design- Buchbeispiel 5.1 kopiert. )

 Diet1Diet2Diet3Diet4 SubjectSubjectSubjectSubject 123456789101112MorningxxxxxxxxxxxxEveningxxxxxxxxxxxx

Ein paar wichtige Dinge zu beachten:

  • Es gibt 12 experimentelle Einheiten (12 Probanden)
  • Auf diesen 12 Einheiten beobachten wir 24 Datenpunkte ( ), die mit2×4×3x
  • Dies ist so, weil wir zwei Beobachtungen zum gleichen Thema machen, erstens morgens und zweitens abends
  • Dies bedeutet, dass die beiden Beobachtungen zu einem Thema aus derselben experimentellen Einheit stammen. Daher ist dies keine echte Replikation. Da die Beobachtungen im Laufe der Zeit vom selben Thema stammen, muss eine gewisse Korrelation zwischen den beiden Beobachtungen bestehen.
  • Beachten Sie, dass sich dies von einer Zwei-Wege-ANOVA mit Diät und Zeit als Faktoren unterscheidet.
  • Eine Zwei-Wege-ANOVA wird Beobachtungen wie diese haben:

 Diet1Diet2Diet3Diet4MorningxxxxxxxxxxxxEveningxxxxxxxxxxxx

Jedes der hier ist ein anderes Thema. Dies veranschaulicht das Konzept der Verschachtelung. Das heißt, die Probanden 1, 2, 3 sind in Diät 1 verschachtelt. - Die gesamten Parzellen, die experimentellen Einheiten auf der Ebene der gesamten Parzelle (Diät) (die Subjekte), fungieren als Blöcke für die Behandlung der geteilten Parzelle (Morgen-Abend).x

Das Modell für dieses Split-Plot-Design lautet:

Yijk=μ+τi+Sij+γk+(τγ)ik+ϵijk,
wobei Sobald Sie das Modell gut formuliert haben, ist das Schreiben in Form trivial:
Yijk=the response to diet i of subject j at time k,
τi=diet i effect
Sij=subject j's effect in diet i (whole plot error)
(τγ)ik=the interaction of diet i and time j
ϵijk=split plot error
R aov
splitPltMdl <- aov(bloodPressure ~ Diet + ## Diet effect 
                                   Error(Subject/Diet) + ## nesting of Subject in Diet 
                                   Time*Diet, ## interaction of Time and Diet 
                                   data = dietData)
Suncoolsu
quelle
1
+1 nette Antwort. Wenn Sie mir jetzt erklären könnten, wie Sie einige Post-hoc-Tests oder geplante Vergleiche durchführen (z. B. gibt es einen Unterschied zwischen Morgen und Abend in den Gruppen 1 und 2, zusammengefasst), würden Sie mir viele Fragen beantworten. Siehe auch meine Frage zur R-Hilfe: article.gmane.org/gmane.comp.lang.r.general/237681
Henrik
Ich bin im Moment ein bisschen beschäftigt. Ich werde auf jeden Fall auf dich zurückkommen.
Suncoolsu
@suncoolsu: ... wird sicherlich liefern?
Russellpierce
Warum nehmen Sie den Zeiteffekt nicht in Ihre Modellformel auf? Warum nehmen Sie Dietund Time*Dietin den aovAnruf auf? Es sollte zu Time:DietIhrer mathematischen Formel passen.
Amöbe