单因素方差分析--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 复制代码
# 数据包含强影响点,而且自变量(误差)不满足正态分布
# 方差齐性分析也证实了 分组之间的组内放差有明显的不同
# 组内方差较大时,实验的结果无法解释,所以整个方差分析的结果也不可信。
相关推荐
临床数据科学和人工智能兴趣组3 小时前
要使用 R Markdown,首先需要安装 R 和 RStudio,接着安装 rmarkdown 包
开发语言·数据挖掘·数据分析·r语言·r语言-4.2.1
酷在前行13 小时前
【R绘图】Nature Communications 半眼图复刻:分布、区间与多面板排版(保姆级教程)
android·开发语言·r语言
酷在前行16 小时前
【R论文复刻】Nature Communications 冲积图进阶:状态转移、流带排序与多面板排版(保姆级教程)
开发语言·r语言
酷在前行2 天前
【R模型】R语言随机森林分类进阶:交叉验证、调参与独立测试(保姆级教程)
随机森林·分类·r语言
天桥下的卖艺者2 天前
使用scitable包,两步生成逆概率删失权重(IPCW)
数据库·r语言
AAIshangyanxiu4 天前
R 语言耦合遥感技术的水环境综合评估完整技术体系,水质水深水温定量反演方法
开发语言·r语言·遥感水文·水文遥感·r语言遥感
临床数据科学和人工智能兴趣组5 天前
R语言版本检查与扩展包自动更新
机器学习·数据分析·r语言·r语言-4.2.1
临床数据科学和人工智能兴趣组10 天前
RStudio的Console(控制台)是一个非常重要的组件
人工智能·机器学习·数据分析·r语言·r语言-4.2.1
智购科技无人售货机工厂12 天前
自动售货机硬件选型避坑:单片机 / 树莓派 / ESP32 怎么选?~YH
人工智能·单片机·嵌入式硬件·r语言·swift·perl·symfony
青春不败 177-3266-052014 天前
基于“R语言+遥感“水环境综合评价方法实践技术应用
r语言·水环境·水文模型·水遥感·水温模拟