## 连续型变量组间差异的比较 ##
getwd()
setwd("C:/我的/广西医科大学/专业核心课/R语言课程/6.17")
##1.单样本t检验##
#某山区汉族足月正常产男婴的双顶径是否大于一般男婴的双顶径(9.3cm)
mydata<-c(9.95,9.33,9.49,9.00,9.90,9.15,9.52,9.33,9.16,9.37,9.11,9.27) # 构建数据集
shapiro.test(mydata) #小样本正态性判定
qqnorm(mydata) # 绘制QQ图
qqline(mydata, col=2, lwd=1)
t.test(mydata, alternative = "greater", mu = 9.3) # 设置参数alt进行单侧检验
##2.独立样本t检验##
#比较两组小鼠肉芽肿的重量是否有差异
A1<-c(108,74.8,31.2,132 ,147.6,98.5,82.2,93.3,85.5,110.4)
A2<-c(94.8,122.5,144.1,151.2,189.3,204.2,155.6,160.3,178.3,165.4)
t.test(A1,A2, var.equal=TRUE)
#比较吸烟组和不吸烟组产妇的新生儿体重是否有差异
data(birthwt, package="MASS")
var.test(bwt ~ smoke, data=birthwt) # 方差齐性检验,p=0.2254>0.05,差异无统计学意义,方差齐
t.test(bwt ~ smoke, var.equal=TRUE, data=birthwt) # 参数设置=TRUE表明方差齐,默认是FALSE
# p<0.05,新生儿体重在吸烟的母亲和不吸烟的母亲之间差异有统计学意义
t.test(bwt ~ smoke, var.equal=TRUE, conf.level=0.99, data=birthwt) # 调整参数conf.level设置置信度
##3.配对样本t检验##
x1 <- c(0.84, 0.59, 0.67, 0.63, 0.69, 0.98, 0.75, 0.73, 1.20, 0.87) # 脂肪酸水解法测定10份乳酸菌饮料中脂肪含量测定的结果
x2 <- c(0.58, 0.51, 0.50, 0.32, 0.34, 0.52, 0.45, 0.51, 1.00, 0.51) # 罗紫-戈特里法测定结果
t.test(x1,x2, paired = TRUE) # 配对T检验参数设置为TRUE
# p<0.001, 两种方法对脂肪含量的测定的差异有统计学意义
##4.单因素方差分析(多组比较)##
#不同组之间植物重量是否存在显著性差异
install.packages("PlantGrowth")
summary(PlantGrowth)
boxplot(weight ~ group, data = PlantGrowth)# 制作箱形图
tapply(PlantGrowth$weight,PlantGrowth$group,shapiro.test)#正态性检验. 用函数tapply进行分组计算
bartlett.test(weight ~ group, data = PlantGrowth)#方差齐性检验(正态性敏感)
## Levene检验
install.packages("car")
library(car)
leveneTest(weight ~ group, data = PlantGrowth) # 方差齐性检验
mymodel <- aov(weight ~ group, data = PlantGrowth) #建立方差分析模型
summary(mymodel) # 得到方差分析表
TukeyHSD(mymodel)# 进行多重比较
plot(TukeyHSD(mymodel))
##5.组间差异的非参数检验##
wilcox.test(A1,A2)#两独立样本
wilcox.test(bwt ~ smoke, data = birthwt)
wilcox.test(x1,x2, paired = TRUE) # 配对样本
kruskal.test(weight ~ group, data = PlantGrowth)
install.packages("PMCMRplus")
library("PMCMRplus")
comp<-bwsAllPairsTest(weight ~ group, data = PlantGrowth)#多重比较
summary(comp)
##6.函数tablestack() 汇总双变量分析结果##
install.packages("MASS")
library("MASS")
library(dplyr)
#变量转化为因子型
str(birthwt)
birthwt <- birthwt %>%
mutate(low=factor(low,labels = c("no","yes")),
race=factor(race,labels=c("white","black","others")),
smoke=factor(smoke,labels = c("no","yes")),
ht=factor(ht,labels = c("no","yes")),
ui=factor(ui,labels = c("no","yes")))
str(birthwt)
install.packages("epiDisplay")
library("epiDisplay")
#如果我们关注的是新生儿低体重,那么因子型变量low就是结果变量
tableStack(vars=age:smoke,by=low,dataFrame=birthwt) # 创建包含多个变量的统计汇总表
tableStack(vars = c(age,smoke),by=low,dataFrame=birthwt) # 自行选择需要的变量进行统计汇总
Data<-tableStack(vars=age:smoke,by=low,dataFrame=birthwt)
write.csv(Data,file= "C:/我的/广西医科大学/专业核心课/R语言课程/Data.csv") #保存