Frage:
Nicht korrigierte paarweise p-Werte für Einweg-ANOVA?
scw
2011-06-02 15:45:22 UTC
view on stackexchange narkive permalink

Ich führe im Rahmen einer Klassenübung eine relativ einfache Einweg-ANOVA durch. Ich möchte paarweise unkorrigierte p-Werte aus R erhalten, damit ich einen sequentiellen FDR-Test in einem anderen Paket durchführen kann (mir ist klar, dass es auch in R FDR-Pakete gibt). Ich habe meine ANOVA wie unten gezeigt eingerichtet und sie funktioniert einwandfrei und führt zu Ergebnissen, aber ich kann anscheinend nicht herausfinden, wie ich die rohen, nicht korrigierten p-Werte zurückbekomme. Letztendlich möchte ich die paarweisen Tests sowohl für FDR als auch für sequentielle Bonferroni in R durchführen, aber dies scheint ein erster Schritt zu sein.

Es sieht aus wie pairwiseCI oder multcomp bringt mich vielleicht dahin, wo ich hin will, aber es fällt mir schwer herauszufinden, welche das tun, wonach ich suche.

  R> head (d10 ) Zeitrasse1 27.4 Typ.A2 18.3 Typ.A3 24.3 Typ.B4 19.6 Typ.B5 21.6 Typ.C6 30.3 Typ.Da10 <-aov (Zeit ~ Rasse, Daten = d10) # gibt die Gesamtsignifikanz an, aber nichts über die Paare Zusammenfassung (a10) # meldet nur korrigierte WerteTukeyHSD (a10)  
Drei antworten:
#1
+8
Aaron left Stack Overflow
2011-06-02 19:57:17 UTC
view on stackexchange narkive permalink

Informationen zum multcomp -Paket finden Sie auf der Hilfeseite für glht . Sie möchten die Option "Tukey" verwenden. Hierbei wird die Tukey-Korrektur nicht verwendet, sondern nur alle paarweisen Vergleiche erstellt. Im Beispielabschnitt gibt es ein Beispiel, das genau das tut, was Sie wollen.

Hiermit werden die Schätzungen und Werte für jeden Vergleich berechnet, jedoch keine p-Werte. dafür benötigen Sie summary.glht ; Beachten Sie auf der Hilfeseite insbesondere den Parameter test , mit dem Sie den tatsächlich ausgeführten Test festlegen können. Um mehrfach angepasste p-Werte auszuführen, verwenden Sie die Funktion angepasst für diesen Parameter. Um nicht mehrfach anzupassen, verwenden Sie test = angepasst ("keine") ( Dies wird auf der Hilfeseite nicht speziell erwähnt, obwohl es heißt, dass eine der Methoden in p.adjust verwendet wird. Dort finden Sie keine .)

Sie können die Schätzungen und Se's auch manuell mithilfe der Matrixmultiplikation berechnen und dann die p-Werte erhalten, wie Sie möchten. Dies ist, was die Funktion glht hinter den Kulissen tut. Um die Matrizen zu erhalten, die Sie zum Starten benötigen, verwenden Sie coef und vcov .

Ich habe keinen vollständigen Code eingegeben, wie Sie sagen, es ist für a Klassenprojekt (übrigens danke, dass Sie ehrlich sind!) und die Richtlinie hier lautet, hilfreiche Hinweise zu geben, aber keine Lösungen.

danke für die ausführliche antwort! Re: Hausaufgaben; Dies ist ein Abschlusskurs und diese Arbeit wird nicht eingereicht. Ich weiß, wie man dasselbe im JMP der Klasse macht, möchte mich aber so weit wie möglich an R halten.
Vielen Dank für das Update zum Status der Hausaufgaben. Wenn Sie spezifischere Hilfe benötigen, lassen Sie es uns wissen.
#2
+7
chl
2011-06-02 16:06:53 UTC
view on stackexchange narkive permalink

Sie können pairwise.t.test () mit einer der verfügbaren Optionen für die Mehrfachvergleichskorrektur im Argument p.adjust.method = verwenden. Weitere Informationen zur verfügbaren Option für Einzelschritt- und Abwärtsmethoden (z. B. BH für FDR oder bonf ) finden Sie unter help (p.adjust) . Code> für Bonferroni). Zu beachten ist, dass Sie p.adjust () direkt einen Vektor mit rohen p-Werten geben können und die korrigierten p-Werte erhalten.

Also würde ich vorschlagen Führen Sie so etwas wie

  pairwise.t.test (Zeit, Rasse, p.adjust.method = "none") # unkorrigierter p-Wert paarweise.t.test (Zeit, Rasse, p.adjust .method = "bonf") # Bonferroni p-Wert  

Mit dem ersten Befehl erhalten Sie t-testbasierte p-Werte, ohne FWER oder FDR zu steuern. Sie können dann einen beliebigen Befehl verwenden, um korrigierte p-Werte zu erhalten.

Mit dem Namen könnte man meinen, dass es jeden paarweisen t-Test separat berechnet (ich habe es jedenfalls getan), aber es verwendet standardmäßig die gepoolte SD, so dass das Ergebnis das gleiche ist wie das Anova-Ergebnis.
@Aaron Sie haben Recht, es wird standardmäßig gepoolte SD verwendet, aber es kann deaktiviert werden. Wir könnten auch jeden gewünschten Kontrast mit einfacher Algebra konstruieren. Ich mag deine Antwort übrigens (+1).
#3
+2
tim
2015-08-17 02:59:59 UTC
view on stackexchange narkive permalink
  Bibliothek (multcomp) df = mtcarsdf $ am = as.factor (df $ am) m1 <-aov (mpg ~ am, data = df) ht = glht (m1, linfct = mcp (am = ") Tukey ")) Zusammenfassung (ht, test = angepasst (" keine ")) # Lineare Hypothesen: # Schätzung Std. Fehler t Wert Pr (> | t |) # 1 - 0 == 0 7.245 1.764 4.106 0.000285 ***  


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...