在 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)

这是我得到的图表:

enter image description here

但是如果我打印函数L.4的参数,我有如下结果:

    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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...