【发布时间】:2023-03-09 07:52:01
【问题描述】:
我有一个关于使用dplyr 和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)
我将如何使用 summarise_each 或 melt 针对其他每个变量计算 Sat 列,以生成卡方残差和 p 值统计信息。我想一定有类似的东西:
Example %>% summarise_each(funs(chisq.test(...
但我不确定如何完成它。另外,我将如何融化数据框并使用group_by 或do() 来获取卡方统计信息?我有兴趣看到这两种方法。如果有办法合并broom 包,那也很好,或者tidyr 而不是reshape2。
回顾一下,我想运行卡方检验,例如
chisq.test(Example$Sat, Example$Gender)
但是...我想针对Gender、Ethnicity 和AgeGroup 生成Sat 变量的卡方统计信息。这是一个小例子,我希望上面的方法能够让我以快速有效的方式跨多列创建卡方统计数据。如果我可以使用ggplot2 在热图中绘制残差,那将是一个奖励,这就是为什么我有兴趣将broom 包合并到这个示例中。
【问题讨论】:
-
Sat中有句点应该是逗号;它不会按原样运行。