如何解决在 drc() 包中,drm fct = L.4 发现错误的截距参数,即使图形是正确的
我对以下代码有疑问。 它正确计算了drc曲线,但错误地计算了ec50,尽管它们密切相关...
x <- c(-1,-0.114074,0.187521,0.363612,0.488551,0.585461,0.664642,0.730782,0.788875,0.840106,0.885926,0.92737,0.965202,1)
y <- c(100,3.978395643,0.851717911,0.697307565,0.512455497,0.482273052,0.479293487,0.361024717,0.355324864,0.303120838,0.286539832,0.465692047,0.358045152)
mat <- cbind(x,y)
df <- as.data.frame(mat)
calc <- drm(
formula = y ~ x,data = df,fct = L.4(names = c("hill","min_value","max_value","ec50"))
)
plot <- ggplot(df,aes(x=x,y=y),color="black") +
geom_point() +
labs(x = "x",y = "y") +
theme(
axis.title.x = element_text(color="black",size=10),axis.title.y = element_text(color="black",axis.line.x = element_line(color = "black"),axis.line.y = element_line(color = "black")
) +
stat_smooth(
formula = y ~ x,method = "drm",color="black",method.args = list(fct = L.4(names = c("hill","ec50"))),se = FALSE
) +
theme(panel.background=element_rect(fill="white"))+
ylim(0,NA)
ec50 <- ED(calc,50)
print(ec50)
print(calc)
print(plot)
hill:(Intercept) 6.3181
min_value:(Intercept) 0.3943
max_value:(Intercept) 111.0511
ec50:(Intercept) -0.6520
max_value:(Intercept) 显然是错误的(必须是 100),因此,ec50 也是错误的。
我还要补充一点,对于其他数据集,min_value:(Intercept) 也是错误的(值
我找不到错误,因为从同一个函数 L.4 导出的图形显示了正确的值。
非常感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。