用标准评估来整理Chisq.Test输出的功能

时间:2017-02-23 04:43:51

标签: r purrr tidyverse

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

此问题是Jake Kaupp先前提供的答案的延伸(链接如下)。

Function for Tidy chisq.test Output for Visualizing or Filtering P-Values

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

我想在函数中包含最后一个“不需要”的行,以便它返回整齐的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)

1 个答案:

答案 0 :(得分:1)

您可以将happy$happy替换为happy[,"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")