2
library(ggmosaic)
library(purrr)
library(dplyr)
library(tibble)
library(tidyr)
library(broom)

这个问题是对 Jake Kaupp 提供的先前答案的扩展(下面的链接)。

用于可视化或过滤 P 值的 Tidy chisq.test 输出的函数

我想将下面的代码转换为使用标准评估的函数,以便我可以跨不同变量创建整洁的 chisq.test 结果。下面的代码在地图行中使用“happy$happy”来查找“happy”变量和其他分类变量之间的关联。该函数允许我将“快乐”更改为另一个变量,例如“健康”或“婚姻”。

我还想在函数中包含最后一个“unnest”行,以便它返回整洁的 chisq.test 结果。

df <- happy %>%
select(-id,-year,-age,-wtssall)  %>%
map(~chisq.test(.x,happy$happy))%>%
tibble(names=names(.),data=.) %>%
mutate(stats=map(data,tidy))

unnest(df,stats)
4

1 回答 1

1

您可以替换happy$happyhappy[,"happy"],这将允许您执行以下操作:

chifun <- function(var) {
       df <- happy %>% select(-id,-year,-age,-wtssall)%>%
                map(~chisq.test(.x,happy[,var]))%>%
                tibble(names=names(.),data=.)%>%
                mutate(stats=map(data,tidy)) %>% unnest(stats)
       return(df)
}

chifun("happy")
于 2017-02-25T07:40:50.230 回答