Ich habe eine Frage über die Verwendung dplyr
und reshape2
, um Chi-Quadrat-Statistiken über mehrere Spalten zu berechnen. Im Folgenden finden Sie ein kleiner Datenrahmen ...Chi-Quadrat-Statistik über mehrere Spalten eines Datenrahmens mit dplyr oder reshape2
Sat <- c("Satisfied","Satisfied","Dissatisfied","Dissatisfied",
"Neutral")
Gender <- c("Male","Male","Female","Male","Female")
Ethnicity <- c("Asian","White","White","Asian","White")
AgeGroup <- c("18-20","18-20","21-23","18-20","18-28")
Example <- data.frame(Sat,Gender,Ethnicity,AgeGroup)
Wie würde ich verwenden summarise_each
oder melt
die Sat
Spalt gegen jeden der anderen Variablen zu berechnen Chi-Quadrat-Rest und p-Wert Statistiken zu erzeugen. Ich denke, es so etwas wie sein:
Example %>% summarise_each(funs(chisq.test(...
aber ich bin nicht sicher, wie es zu beenden. Auch, wie würde ich den Datenrahmen schmelzen und group_by
oder do()
verwenden, um die Chi-Quadrat-Statistiken zu erhalten? Ich bin daran interessiert, beide Methoden zu sehen. Wenn es eine Möglichkeit gibt, das broom
Paket einzubauen, wäre das auch großartig, oder tidyr
statt reshape2
.
So zu rekapitulieren, würde ich gerne Chi-Quadrat-Tests, wie
chisq.test(Example$Sat, Example$Gender)
aber ... Ich möchte Chi-Quadrat-Statistik für die Sat
Variable gegen Gender
, Ethnicity
, laufen produzieren und AgeGroup
. Dies ist ein kleines Beispiel, und ich hoffe, dass die obigen Methoden es mir erlauben werden, Chi-Quadrat-Statistiken in vielen Spalten schnell und effizient zu erstellen. Bonus, wenn ich die Residuen in einer Heat Map mit ggplot2
plotten kann, weshalb ich an der Einbindung des broom
Pakets in dieses Beispiel interessiert bin.
Es gibt Perioden in 'Sat', was wohl Kommas sein sollten; es wird nicht so laufen wie es ist. – alistaire