|||
1. 安装R程序包“drc”,用log-logistic模型拟合多组毒性测试数据,并比较各毒性测试之间的EC50是否有显著性差异。
2. 五参数log-logistic模型的公式为:
通常,设定公式中的c=0,f=1,d=1或100(取决于死亡率的表示方式是小数还是百分数),五参数log-logistic模型因此简化为二参数log-logistic模型。
3.毒性测试数据:
可下载以下数据作为范例,测试代码。
data:Cd_test_data_tan2011EST.csv
data2:Cd_test_data_compare_two_curves_tan2011EST.csv
4. R代码
4.1 运用drc程序包分别拟合各组毒性测试数据,可得到各毒性测试的EC50及其置信区间。
#安装drc程序包,若已安装则略过此步骤
install.packages("drc")
#加载MASS,drc程序包
library(MASS)
library(drc)
#读取数据
data<-read.csv(file.choose(),head=T)
#拟合,固定5参数log-logistic方程中的c=0,d=100,f=1
mod.1 <- drm(r1 ~ x, data = data, fct = LL.5(fixed = c(NA,0,100,NA,1),names = c("b", "c", "d", "EC50", "f")))
#查看拟合结果:参数值、置信区间、图
summary(mod.1)
confint(mod.1, level = 0.95)
plot(mod.1)
#拟合第2套数据
mod.2 <- drm(r2 ~ x, data = data, fct = LL.5(fixed = c(NA,0,100,NA,1),names = c("b", "c", "d", "EC50", "f")))
summary(mod.2)
confint(mod.2, level = 0.95)
plot(mod.2)
4.2 运用drc程序包一并拟合两组(也可以是多组)毒性测试数据,并比较各EC50值是否有显著性差异。
#安装drc程序包,若已安装则略过此步骤
install.packages("drc")
#加载MASS,drc程序包
library(MASS)
library(drc)
#读取数据,将两套数据合并,用pH标签区分
data2<-read.csv(file.choose())
# 一并拟合两套数据
compare.EC50 <- drm(r~x, pH, data = data2,
fct = LL.5(fixed = c(NA,0,100,NA,1),names = c("b", "c", "d", "EC50", "f")))
## 比较两套数据的EC50,返回比值,以及检验是否有显著差异
compParm(compare.EC50, "EC50")
## 比较两套数据的EC50,返回差值,以及检验是否有显著差异
compParm(compare.EC50, "EC50", "-")
5. EC50的比较结果
> compParm(compare.EC50, "EC50")
Comparison of parameter 'EC50'
Estimate Std. Error t-value p-value
1/2 2.69167 0.24586 6.8806 0.0004649 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
参考文献:
Package "drc" (August 30, 2016). https://cran.r-project.org/web/packages/drc/drc.pdf
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 08:16
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社