如何将所有变量相互交叉,并收集R中的卡方检验值



我想将数据文件中的所有40个分类变量相互对照(=160个交叉表(,并收集所有卡方检验的p值,最好是在一个列表中,以查看哪些变量的关系最密切。

是否有一个R代码可以以简单的方式执行此请求?

您可以使用comb函数来查找所有组合,并运行任意数量的变量。

作为一个简单的解决方案,如果您有一个名为dtdata.table,并且自变量是result,则使用以下代码。

library(data.table)
library(magrittr)
library(dplyr)
chi_dt <- dt %>%
map(~chisq.test(.x, dt$result)) %>%
tibble(names = names(.), data = .) %>%
mutate(stats = map(data, broom::tidy)) %>%
unnest(stats)  %>% select(-data) %>%
arrange(p.value, desc(statistic))

最新更新