So führen sie den friedman-test in r durch
Der Friedman-Test ist eine nichtparametrische Alternative zur ANOVA mit wiederholten Messungen. Es wird verwendet, um zu bestimmen, ob ein statistisch signifikanter Unterschied zwischen den Mittelwerten von drei oder mehr Gruppen besteht, in denen in jeder Gruppe dieselben Probanden vorkommen.
In diesem Tutorial wird erklärt, wie der Friedman-Test in R durchgeführt wird.
Beispiel: der Friedman-Test in R
Um den Friedman-Test in R durchzuführen, können wir die Funktion friedman.test() verwenden, die die folgende Syntax verwendet:
friedman.test (y, Gruppen, Blöcke)
Gold:
- y: ein Vektor von Antwortwerten.
- Gruppen: ein Wertevektor, der die „Gruppe“ angibt, zu der eine Beobachtung gehört.
- Blöcke: ein Wertevektor, der die „blockierende“ Variable angibt.
Diese Funktion erzeugt eine Chi-Quadrat-Teststatistik und einen entsprechenden p-Wert. Wenn der p-Wert unter einem bestimmten Signifikanzniveau liegt (übliche Werte sind 0,10, 0,05 und 0,01), dann gibt es ausreichende Beweise dafür, dass die Mittelwerte zwischen den einzelnen Gruppen nicht gleich sind.
Um die Verwendung dieser Funktion zu veranschaulichen, erstellen wir einen Datensatz, der die Reaktionszeit von fünf Patienten auf vier verschiedene Medikamente zeigt. Da bei jedem Patienten jedes der vier Medikamente gemessen wird, verwenden wir den Friedman-Test, um festzustellen, ob sich die durchschnittliche Reaktionszeit zwischen den Medikamenten unterscheidet.
Zuerst erstellen wir den Datensatz:
#create data data <- data.frame(person = rep(1:5, each=4), drug = rep(c(1, 2, 3, 4), times=5), score = c(30, 28, 16, 34, 14, 18, 10, 22, 24, 20, 18, 30, 38, 34, 20, 44, 26, 28, 14, 30)) #view data data person drug score 1 1 1 30 2 1 2 28 3 1 3 16 4 1 4 34 5 2 1 14 6 2 2 18 7 2 3 10 8 2 4 22 9 3 1 24 10 3 2 20 11 3 3 18 12 3 4 30 13 4 1 38 14 4 2 34 15 4 3 20 16 4 4 44 17 5 1 26 18 5 2 28 19 5 3 14 20 5 4 30
Als nächstes führen wir den Friedman-Test durch, wobei wir den Score als Antwortvariable, das Medikament als Gruppierungsvariable und die Person als Blockierungsvariable verwenden:
#perform Friedman Test
friedman.test(y=data$score, groups=data$drug, blocks=data$person)
Friedman rank sum test
data: data$score, data$drug and data$person
Friedman chi-squared = 13.56, df = 3, p-value = 0.00357
Die Chi-Quadrat-Teststatistik beträgt 13,56 und der entsprechende p-Wert beträgt 0,00357 . Da dieser p-Wert kleiner als 0,05 ist, können wir die Nullhypothese zurückweisen, dass die durchschnittliche Reaktionszeit für alle vier Medikamente gleich ist. Wir haben genügend Beweise, um zu dem Schluss zu kommen, dass die Art der verwendeten Medikamente zu statistisch signifikanten Unterschieden in der Reaktionszeit führt.
Obwohl ein Friedman-Test uns sagt, ob es Unterschiede in der durchschnittlichen Reaktionszeit zwischen Medikamenten gibt, sagt er uns nicht genau, welche Medikamente unterschiedliche durchschnittliche Reaktionszeiten haben. Um dies zu verstehen, müssen wir Post-hoc-Tests durchführen.
Für einen Friedman-Test ist der geeignete Post-hoc-Test der paarweise Wilcoxon-Rangsummentest mit einer Bonferroni-Korrektur, der mit der folgenden Syntax implementiert werden kann:
pairwise.wilcox.test(data$score, data$drug, p.adj = „bonf“)
Gold:
- x: Antwortvektor
- g: Gruppierungsvektor
- p.adj: p-Wert-Anpassungsmethode; Zu den Optionen gehören Holm, Hochberg, Hommel, Bonferroni, BH, BY, FDR und None
Hier ist die Syntax, die wir für unser Beispiel verwenden werden:
#perform post-hoc tests
pairwise.wilcox.test(data$score, data$drug, p.adj = "bonf")
Pairwise comparisons using Wilcoxon rank sum test
data: data$score and data$drug
1 2 3
2 1,000 - -
3 0.449 0.210 -
4 1,000 1,000 0.072
P value adjustment method: bonferroni
Dadurch wird eine Matrix erstellt, die den p-Wert für jeden paarweisen Wilcoxon-Rangsummentest anzeigt. Wir können sehen, dass die einzigen Medikamentengruppen, die einen statistisch signifikanten Unterschied von 0,10 aufweisen, die Gruppen 3 und 4 sind ( p = 0,072 ).