首页 > 解决方案 > 获取函数以返回卡方检验的结果

问题描述

我需要对 2 年内不同地点的大量不同特征的数据进行关联的卡方检验。例如,站点 1 有 2019 年的 59 个样本和 2020 年的 82 个样本。每个样本都有一个值为 a 或 b 的字符。我有很多人物和网站要分析,所以我写了一个函数如下:


library(chisq.posthoc.test)


char.function <- function(a19, a20, b19, b20, site.char) {
  
  site.char <- as.table(rbind(c(a19, a20), c(b19, b20)))
  dimnames(site.char) <- list(value = c("a", "b"), 
                              year = c("2019", "2020"))
  
  return(site.char)
  
  x <- chisq.test(site.char)
  y <- chisq.posthoc.test(site.char, method = "bonferroni")
  z <- chisq.posthoc.test(site.char, method = "fdr")
  
  return(x)
  return(y)
  return(z)
  
}

但是当我调用该函数时,例如:


char.function(3, 4, 56, 78, char.1)

它只返回这样的表:

     year
value 2019 2020
    a    3    4
    b   56   78

而不是测试的结果。如何让它也返回测试结果?

谢谢!

标签: r

解决方案


推荐阅读