Ich hoffe auf ein bisschen Hilfe bei etwas, das (hoffentlich) einfach genug für diejenigen mit dem Wissen sein sollte.
Ich arbeite mit einem Datensatz mit 111 Spalten und 300 Zeilen. Die ersten 70 Spalten sind Kontrolldaten, die Spalten 71-111 enthalten Daten zu Menschen mit Diabetes. Ich habe den folgenden t-Test in der ersten Zeile durchgeführt:
row1 <- data[1:1,]
control_cols <- c(1:70)
control <- row1[control_cols]
diabetes_cols <- c(71:111)
diabetes <- row1[diabetes_cols]
t.test(control, diabetes, mu=0, paired = F, conf.level=0.95)
Gibt es eine Möglichkeit, dies mit der Apply-Funktion zu automatisieren, um den t-Test für jede Zeile durchzuführen, sodass ich die p-Werte jeder Zeile einzeln sehen kann?
Lösung des Problems
Mit können Sie apply
den t-Test für jede Zeile ausführen und das Ergebnis einer neuen Spalte in zuweisendata
data["pvalue"] = apply(data,1,function(r) t.test(r[1:70], r[71:111])$p.value)
Keine Kommentare:
Kommentar veröffentlichen