R 两组样本t检验 wilcoxon检验、卡方、fisher精确检验

  • Post author:
  • Post category:其他


一般统计方法R实现




一、读入数据

library(readxl)
data<- read_excel("E:/Rworkplace/ae/data.xlsx")
pacman::p_load(tidyr)

在这里插入图片描述

共包括五个变量:group为分组变量,BMI、score为连续型变量,infection、ae为分类变量。



二、连续性变量



1.正态性和方差齐性检验

代码如下:

tapply(data$BMI,data$group,shapiro.test)
tapply(data$score,data$group,shapiro.test)

#方差齐性检验
library(car) #调用程序包car
library(carData) #载入程序包carData
leveneTest(data$BMI,data$group,center=mean)
leveneTest(data$score,data$group,center=mean)

发现BMI变量满足正态性和方差齐性,score不满足正态性。则两组BMI指标比较采用独立t检验,两组score指标比较采用wilcoxon检验。



2.描述统计量

代码如下:

#一般信息均数±标准差
library(dplyr)
group_by(data, group) %>%
  summarise(
    count = n(),
    mean = mean(BMI, na.rm = TRUE),
    sd = sd(BMI, na.rm = TRUE)
  )
  #中位数(四分位数)
tapply(data$score,data$group,quantile)

在这里插入图片描述



3.独立样本t检验和wilcoxon秩和检验

代码如下:

t.test(BMI ~ group, data = data, var.equal = TRUE)
wilcox.test(score ~ group, data = data, paired =FALSE)

在这里插入图片描述



三、四格表卡方或fisher精确检验(OR【95%CI】)



1.计算各组频数和相对频率

代码如下:

xtabs(~data$group+data$ae,data = data)
xtabs(~data$group+data$infection,data = data)
prop.table(xtabs(~data$group+data$ae,data = data),margin = 1)
prop.table(xtabs(~data$group+data$infection,data = data),margin = 1)

在这里插入图片描述



2.整理数据进行检验

#ae进行卡方检验
total <-c(20,20)
prop <- c(3,6)
prop.test(prop, total)
pacman::p_load(fmsb)
oddsratio(3,17,6,14)#显示OR值

在这里插入图片描述

#infection fisher精确概率法
table=matrix(c(1,3,19,17),nrow=2)
colnames(table)=c("有","无")
rownames(table)=c("试验组","对照组")
table
prop.table(table,margin = 1)
fisher.test(table)

在这里插入图片描述




总结

对连续性变量及四格表常用统计检验R操作进行了梳理。



版权声明:本文为leeningzzu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。