R语言实现卡方检验并计算OR值

实现卡方检验和计算OR值

library(epitools)
tapw <- c("Lowest", "Intermediate", "Highest")
outc <- c("Case", "Control")	
#数据特点,第一行为基准,第一列为对照组,本例数据对照组在最后,后期需要设置rev="c"。
dat <- matrix(c(2, 29, 35, 64, 12, 6),3,2,byrow=TRUE)
dimnames(dat) <- list("Tap water exposure" = tapw, "Outcome" = outc)

#卡方检验
chisq.test(dat)

#未设置rev="c",对照组为case,注意!
oddsratio(x=dat, #数据集
          y = NULL,
          #默认使用midp,小样本和频数较低的情况下使用fisher精确法/small法
          method = c("midp", "fisher", "wald", "small"),#计算OR的方法#首选第一个
          conf.level = 0.95,#置信区间
          rev = c("neither", "rows", "columns", "both"),#“行”、“列”、“两者”或“两者都不”(默认值)的相反顺序#可以使用简写n,r,c,b
          correction = FALSE,#Yate连续校正
          verbose = FALSE)#是否返回更加详细的信息
#翻转
#行
oddsratio(x=dat,
          rev="r")#翻转比值比的行,以最后一个为基准
#列#结果反应真实情况
oddsratio(x=dat,
          rev="c")#翻转比值比的行,变换对照组和病例组

猜你喜欢

转载自blog.csdn.net/weixin_49320263/article/details/132724508