0

我有一个包含浓度、菌丝体生长和两个种群的数据集。我安装了 LL.4 模型(用 mselect 检查)

##LL.4 model of the data
FD7_LL4<-drm(Growth ~ Concentration, Treatment, data=FD7,
fct = LL.4(),
pmodels=list(~Treatment-1, ~Treatment-1, ~Treatment-1, ~Treatment-1))

并得到了很好的拟合(使用 LL.4 模型的两种治疗的剂量反应曲线)。

我得到了 ED50 估计值

ED(FD7_LL4, 50, interval="delta")
##results
Estimated effective doses
Estimate Std. Error Lower Upper
e:R:50 2.619512 0.085679 2.451342 2.787682
e:S:50 5.456838 0.256763 4.952865 5.960810

问题是,处理“S”永远不会达到 0,因此 ED50 也是从 ymax-ymin 计算的。我需要在 ymax-0 之间计算它,因为我想得到这个值,当菌丝体生长被抑制在 50% 时。从实验数据来看,S 的 ED50 应该在 10 左右,这是我用 LL.3 模型得到的(使用 LL.3 模型的两种治疗的剂量反应曲线),但正如你所见,它不太适合......你认为我仍然可以使用 LL.3 模型,因为它从生物学的角度来看更相关吗?LL.3 型号的 ED50 值为:

Estimated effective doses
Estimate Std. Error Lower Upper
e:R:50 2.704085 0.083539 2.540116 2.868054
e:S:50 10.487770 0.693789 9.126012 11.849529

这与我的实验数据相对应。非常感谢你的帮助。

4

1 回答 1

1

ED带有一个type参数,将其设置为absolute(默认为relative)。

library(drc)
dat <- data.frame(
  Conc = rep(c(0, 1, 3, 10, 30, 100), 2),
  Growth = c(4, 3.8, 2, 0.2, 0.1, 0.1, 4, 4, 3.5, 2, 1.5, 1.2),
  Trt = gl(2, 6, labels = c('R', 'S'))
)

fit <- drm(Growth ~ Conc, Trt, data = dat, fct = LL.4(), 
  pmodels=list(~Trt-1, ~Trt-1, ~Trt-1, ~Trt-1)
)

plot(fit, col=T)

在此处输入图像描述

看起来和你所拥有的足够接近。现在,我不知道您想将什么视为 50% 的增长抑制,我怀疑您认为 2 是正确答案。如果是这样的话:

ED(fit, 2, interval = 'delta', type = 'absolute')
#       Estimate Std. Error Lower Upper
# e:R:2     3.00       0.10  2.72  3.27
# e:S:2    10.31       1.02  7.49 13.13

或者,当您对 R 的拟合感到满意时,您可能希望估计对应于 R 的 ED50 的增长并使用它而不是 2。

# ED50 of R
ed50r <- ED(fit, 50, interval = 'delta')[1]  # 2.95
# growth corresponding to ED50 of R
growth50r <- predict(fit, newdata = data.frame(Conc = ed50r)) # 2.04

ED(fit, growth50r, interval = 'delta', type = 'absolute')
#          Estimate Std. Error Lower Upper
# e:R:2.04     2.95       0.10  2.68  3.22
# e:S:2.04     9.93       0.95  7.29 12.57
于 2021-04-30T22:52:12.170 回答