我想将数据文件中的所有40个分类变量相互对照(=160个交叉表(,并收集所有卡方检验的p值,最好是在一个列表中,以查看哪些变量的关系最密切。
是否有一个R代码可以以简单的方式执行此请求?
您可以使用comb
函数来查找所有组合,并运行任意数量的变量。
作为一个简单的解决方案,如果您有一个名为dt
的data.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))