单因素方差分析--R

任务说明

三个剂量水平的药物处理受试者,每个剂量水平十个受试者,现在收集到数据后,问:

药物剂量水平显著影响受试者的response?

或者不同剂量药物处理受试者有显著效果的差异吗?

数据

R 复制代码
library(tidyverse)
library(reshape2)
# install.packages("gplots")
library(gplots)
df <- read.table("AUClast1.csv",header = T,sep=",")
head(df)
dose <- c(0.2,0.6,1.8)
fqr <- as.data.frame(t(df[1:3,2:11]))
rownames(fqr) <- 1:nrow(fqr)
colnames(fqr) <- dose
fqr <- melt(fqr)
fqr$variable <- as.factor(fqr$variable)
head(fqr)
#    variable value
#1      0.2  24.9
#2      0.2  19.7
#3      0.2  27.3
#4      0.2  26.8
#5      0.2  30.8
#6      0.2  30.2

table(fqr$variable)
#  0.2 0.6 1.8 
#  10  10  10 

代码

R 复制代码
# anove单因素方差分析
fit <- aov(value ~ variable,fqr)
summary(fit)
#  Df Sum Sq Mean Sq F value  Pr(>F)
# variable     2 593525  296762    45.6 2.2e-09
# Residuals   27 175587    6503 
# 分组之间的均值差异显著

# 可视化
plotmeans(fqr$value ~ fqr$variable, xlab="Treatment", ylab="Response",
          main="Mean Plot\nwith 95% CI")
          
# 1.8的剂量分组 内部方差太大了,不过还是继续看看,后面做一下假设检验证实一下。
R 复制代码
# 上述分析只知道组件均值差异大但是不知那几组之间差异大,需要多重比较才能知晓(杜肯法,最小极差法等等)
# 多重比较
library(multcomp)

# par语句扩大了图像的顶部面积
par(mar=c(5,4,6,2))
# 进行多重比较
tuk <- glht(fit, linfct=mcp(variable="Tukey"))
# 图像展示
# 有相同字母的两组即为不显著差异
plot(cld(tuk, level=.05),col="lightgrey")

# 0.2剂量组和0.6剂量组的response均值无明显差异,图像顶部都是a
# 1.8剂量组和0.2剂量组或0.6剂量组的response均值相比较均有明显差异,图像顶部的字母不一致
R 复制代码
# 上面的boxplot可以明显看到1.8剂量组的组内方差很大的,到底是组内方差还是组间方差引起了显著性差异呢?
# 做一下 "评估方差检验的假设条件"
# 1. 自变量的正态分布
library(car)

qqPlot(lm(value ~ variable, data=fqr),
       simulate=TRUE, main="Q-Q Plot", labels=FALSE)
# 不满足
R 复制代码
# 2.离群点检测
library(car)

outlierTest(fit)

# rstudent unadjusted p-value Bonferroni p
# 30    4.367          0.0001784     0.005352
# 第三十个数据点是离群点(去掉离群点后拟合还有可能出现离群点)
R 复制代码
# 3. 自变量的方差齐性
bartlett.test(value ~ variable, data=fqr)
# Bartlett检验表明三组的方差有明显的不同(p-value = 1e-13)

结论

R 复制代码
# 数据包含强影响点,而且自变量(误差)不满足正态分布
# 方差齐性分析也证实了 分组之间的组内放差有明显的不同
# 组内方差较大时,实验的结果无法解释,所以整个方差分析的结果也不可信。
相关推荐
q567315231 天前
R语言初学者爬虫简单模板
开发语言·爬虫·r语言·iphone
shootero@126.com2 天前
R语言开发记录,二(创建R包)
r语言
shootero@126.com2 天前
R语言开发记录,一
开发语言·r语言
旷世奇才李先生2 天前
R 语言安装使用教程
开发语言·r语言
十三画者13 天前
【科研绘图系列】R语言绘制circos图形(circos plot)
数据挖掘·数据分析·r语言·数据可视化
Morpheon14 天前
使用 R 处理图像
开发语言·计算机视觉·r语言
WW、forever15 天前
服务器手动安装并编译R环境库包:PROJ→RGDAL
运维·服务器·r语言
WW、forever15 天前
【服务器R环境架构】基于 micromamba下载 R 库包
运维·服务器·r语言
Jet450518 天前
第100+42步 ChatGPT学习:R语言实现阈值调整
开发语言·学习·chatgpt·r语言
Smiling63918 天前
【R】基于R实现贝叶斯分析(一)
r语言·贝叶斯分析·bayes