一般统计方法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 版权协议,转载请附上原文出处链接和本声明。