单因素方差分析--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 复制代码
# 数据包含强影响点,而且自变量(误差)不满足正态分布
# 方差齐性分析也证实了 分组之间的组内放差有明显的不同
# 组内方差较大时,实验的结果无法解释,所以整个方差分析的结果也不可信。
相关推荐
Omics Pro1 小时前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
天桥下的卖艺者2 天前
chrals.CTI函数升级版发布,增加了CTI衍生的脂肪指数提取
数据库·r语言
小师兄吃牛肉3 天前
什么是R语言?如何快速学习R语言
开发语言·学习·r语言
喆星时瑜4 天前
Win10/11 安装 R 与 RStudio 详细图文教程
开发语言·r语言·安装
喆星时瑜4 天前
R语言基础语法入门
开发语言·r语言
喆星时瑜4 天前
R语言向量语法的详细教程
开发语言·r语言
临床数据科学和人工智能兴趣组6 天前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
babe小鑫16 天前
信息与计算科学专业应届生面试 怎么证明自己能解决业务问题
学习·r语言·excel
深兰科技17 天前
深兰科技受邀参与第二届中国(南宁)—东盟人工智能场景应用对接会,深化AI国际合作
人工智能·qt·r语言·scala·symfony·智能机器人·深兰科技
赵钰老师18 天前
基于ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析
python·arcgis·数据分析·r语言