当前位置: 首页 > news >正文

单因素方差分析--R

任务说明

三个剂量水平的药物处理受试者,每个剂量水平十个受试者,现在收集到数据后,问:
药物剂量水平显著影响受试者的response?
或者不同剂量药物处理受试者有显著效果的差异吗?

数据

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 

代码

# 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的剂量分组 内部方差太大了,不过还是继续看看,后面做一下假设检验证实一下。

在这里插入图片描述

# 上述分析只知道组件均值差异大但是不知那几组之间差异大,需要多重比较才能知晓(杜肯法,最小极差法等等)
# 多重比较
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均值相比较均有明显差异,图像顶部的字母不一致

在这里插入图片描述

# 上面的boxplot可以明显看到1.8剂量组的组内方差很大的,到底是组内方差还是组间方差引起了显著性差异呢?
# 做一下 ”评估方差检验的假设条件“
# 1. 因变量的正态分布
library(car)

qqPlot(lm(value ~ variable, data=fqr),
       simulate=TRUE, main="Q-Q Plot", labels=FALSE)
# 不满足

在这里插入图片描述

# 2.离群点检测
library(car)

outlierTest(fit)

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

结论

# 数据包含强影响点,而且因变量(误差)不满足正态分布
# 方差齐性分析也证实了 分组之间的组内放差有明显的不同
# 组内方差较大时,实验的结果无法解释,所以整个方差分析的结果也不可信。

相关文章:

  • docker容器互通方式
  • k8s的node亲和性和pod亲和性和反亲和性 污点 cordon drain
  • prometheus常用exporter
  • [含完整代码]Linux使用.sh脚本自动部署(启动|停止|状态|日志)项目[超详细]
  • Unity URP下阴影锯齿
  • 数据结构:堆和堆排序
  • 基于elementUI的el-table组件实现按住某一行数据上下滑动选中/选择或取消选中/选择鼠标经过的行
  • cfa一级考生复习经验分享系列(十八)
  • 影响邮件打开率的因素有哪些?
  • C //练习 5-4 编写函数strend(s, t)。如果字符串t出现在字符串s的尾部,该函数返回1;否则返回0。
  • Java多线程并发篇----第十三篇
  • JsonPath
  • test-04-test case generate 测试用例生成 tcases 快速开始
  • 【进程调度】基于优先级的轮转调度C++实现算法
  • 人工智能_机器学习092_使用三维瑞士卷数据_利用分层聚类算法进行瑞士卷数据三维聚类---人工智能工作笔记0132
  • Bean作用域及生命周期
  • 任务类型划分
  • SpringBoot 引入分页插件 PageHelper
  • Redis 常见数据结构以及使用场景分析
  • JavaScript 异步编程解决方案-中篇
  • 俄代表团:16日上午将继续“等候乌代表团”
  • 第一集|好饭不怕晚,折腰若如初见
  • 国防部:菲方应停止一切侵权挑衅危险举动,否则只会自食苦果
  • 陈吉宁龚正黄莉新胡文容等在警示教育基地参观学习,出席深入贯彻中央八项规定精神学习教育交流会
  • 佩斯科夫:俄方代表团15日将在伊斯坦布尔等候乌克兰代表团
  • 马上评|让查重回归促进学术规范的本意