Ich benutze die R "Multcomp" -Bibliothek ( http://cran.r-project.org/web/packages/multcomp/ ), um Dunnetts Test zu berechnen. Ich benutze das folgende Skript:
Group <- factor(c("A","A","B","B","B","C","C","C","D","D","D","E","E","F","F","F"))
Value <- c(5,5.09901951359278,4.69041575982343,4.58257569495584,4.79583152331272,5,5.09901951359278,4.24264068711928,5.09901951359278,5.19615242270663,4.58257569495584,6.16441400296898,6.85565460040104,7.68114574786861,7.07106781186548,6.48074069840786)
data <- data.frame(Group, Value)
aov <- aov(Value ~ Group, data)
summary(glht(aov, linfct=mcp(Group="Dunnett")))
Wenn ich dieses Skript nun mehrmals über die R-Konsole ausführe, erhalte ich jedes Mal geringfügig andere Ergebnisse. Hier ist ein Beispiel:
Simultaneous Tests for General Linear Hypotheses
Multiple Comparisons of Means: Dunnett Contrasts
Fit: aov(formula = Value ~ Group, data = data)
Linear Hypotheses:
Estimate Std. Error t value Pr(>|t|)
B - A == 0 -0.35990 0.37009 -0.972 0.76545
C - A == 0 -0.26896 0.37009 -0.727 0.90019
D - A == 0 -0.09026 0.37009 -0.244 0.99894
E - A == 0 1.46052 0.40541 3.603 0.01710 *
F - A == 0 2.02814 0.37009 5.480 0.00104 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)
Und hier ist noch einer:
Simultaneous Tests for General Linear Hypotheses
Multiple Comparisons of Means: Dunnett Contrasts
Fit: aov(formula = Value ~ Group, data = data)
Linear Hypotheses:
Estimate Std. Error t value Pr(>|t|)
B - A == 0 -0.35990 0.37009 -0.972 0.7654
C - A == 0 -0.26896 0.37009 -0.727 0.9001
D - A == 0 -0.09026 0.37009 -0.244 0.9989
E - A == 0 1.46052 0.40541 3.603 0.0173 *
F - A == 0 2.02814 0.37009 5.480 <0.001 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)
Wie Sie sehen, unterscheiden sich die beiden obigen Ergebnisse geringfügig, aber es reicht aus, um die endgültige Gruppe (F) von zwei auf drei Sterne zu verschieben, was ich beunruhigend finde.
Ich habe dazu mehrere Fragen:
- Warum passiert dies?! Wenn Sie jedes Mal die gleichen Daten eingeben, sollten Sie die gleichen Daten ausgeben.
- Gibt es eine Art Zufallszahl, die irgendwo in der Berechnung des Dunnett verwendet wird?
- Ist diese kleine Abweichung tatsächlich jedes Mal ein Problem?
quelle
Sie haben Recht, es ist eine Zufallsgenerierung erforderlich, und die Berechnungen variieren von Lauf zu Lauf. Der Schuldige ist eigentlich nicht Dunnetts Verfahren, sondern die für die einstufige Anpassung erforderliche multivariate t-Verteilung.
Wenn dies von Belang ist, rufen Sie einfach
set.seed
vor der Berechnung ein Argument auf, um die Reproduzierbarkeit zu gewährleisten.Übrigens gibt es eine Bestätigung und Quantifizierung des Fehlers in der Ausgabe von
glht
:quelle