如何使用dplyr在函数中执行描述符和卡方检验

如何使用dplyr在函数中执行描述符和卡方检验,r,dplyr,chi-squared,R,Dplyr,Chi Squared,我的问题与[here][1]类似,但只要dplyr改变了做事的方式,我相信我的问题是原创的,可以帮助其他人 首先,我试图在一个函数中,报告描述性统计数据并运行一些统计推断测试,如卡方检验 这种语法非常有效: > desc_chi <- function(group_var) { group_var <- enquo(group_var) j > <- dataset %>% > group_by(!!group_var) %>%

我的问题与[here][1]类似,但只要dplyr改变了做事的方式,我相信我的问题是原创的,可以帮助其他人

首先,我试图在一个函数中,报告描述性统计数据并运行一些统计推断测试,如卡方检验

这种语法非常有效:

> desc_chi <- function(group_var) {   group_var <- enquo(group_var)   j
> <- dataset %>% 
>     group_by(!!group_var) %>% 
>     summarise(n = n())   print(j) } 
desc_chi(GENDER)
>desc_chi group_by(!!group_var)%>%
>摘要(n=n())打印(j)}
描述(性别)
但当我添加卡方检验时,它会停止并报告错误:

desc_chi <- function(group_var) {
  group_var <- enquo(group_var) 
  j <- dataset %>% 
    group_by(!!group_var) %>% 
    summarise(n = n(),
      pvalue=chisq.test(.$LOCATION, .$group_var))
  print(j)
}
desc_chi这个怎么样

 desc_chi <- function(dataset, group_var) {   
  group_var <- enquo(group_var)   
  dataset %>% 
      group_by(!!group_var) %>% 
      summarise(n = n()) %>% 
      mutate(chisq_pval = chisq.test(n)$p.value)   
 } 


mtcars %>% 
     desc_chi(cyl)


# A tibble: 3 x 3
    cyl     n chisq_pval
   <dbl> <int>      <dbl>
1  4.00    11      0.315
2  6.00     7      0.315
3  8.00    14      0.315
desc_chi%
总结(n=n())%>%
突变(chisq_pval=chisq.测试(n)$p.值)
} 
mtcars%>%
描述(共青团)
#一个tibble:3x3
中国青年团
1  4.00    11      0.315
2  6.00     7      0.315
3  8.00    14      0.315

谢谢,@adam black,我花了一上午的时间试图得到这个结果,你解决了这个问题!!!!很高兴我能帮忙!是否可以将此代码更改为类似chisq.test(variable1,group_var)的代码?这个组由一个函数定义!再次谢谢你喜欢这样吗?测试您只需使用
count(!!group\u var)
而不是分组和汇总。