为什么我的数据在“dr4pl”剂量反应曲线中生成“参数长度为零”?

问题描述

我正在绘制 4 个参数逻辑曲线。这是一个包含大量曲线的庞大数据集,我的一个输出失败了,因为模型拟合不适用于某些数据。一些数据未能产生曲线并给出一个

Warning message: Computation failed in 'stat_smooth()': argument is of length zero

这是曲线模型的代码

library(dr4pl)
library(car)
predict.dr4pl <- function (object,newdata=NULL,se.fit=FALSE,level,interval) {
      xseq <- if (is.null(newdata)) object$data$Dose else newdata$x
      pred <- MeanResponse(xseq,object$parameters)
      if (!se.fit) {
        return(pred)
      }
      qq <- qnorm((1+level)/2)
      se <- sapply(xseq,function(x) car::deltaMethod(object,"UpperLimit + (LowerLimit - UpperLimit)/(1 + (x/IC50)^Slope)")[["Estimate"]])
      return(list(fit=data.frame(fit=pred,lwr=pred-qq*se,upr=pred+qq*se),se.fit=se))
    }

数据集 1 工作正常(即使曲线很糟糕):

Data1<-structure(list(medPOC = c(1.05706789111184,1.1384060347655,1.10675631354542,1.09544112823877,1.09872089209577,1.08773424190801,1.11870837850395,1.18073408703732,1.04746786433328,1.10523462908471,1.15984893939929,1.05297709384816,1.15628419157872,1.12589559877175,1.11894257579501),Curve = c("Curve1","Curve1","Curve2","Curve3","Curve3"),dose = c(0.1,0.3,1,3,10,0.1,10)),row.names = c(NA,-15L),class = c("tbl_df","tbl","data.frame"))

然而数据集 2 产生了错误并且没有拟合曲线:

Data2<-structure(list(medPOC = c(1.04874856862424,1.19188614428268,1.27809586127924,1.2592834941927,1.14690004907574,1.14877338877339,1.02852390852391,1.00515592515593,1.15293139293139,0.864033264033264,1.08484115891663,1.11691157027915,1.16582933554943,1.03384580515997,0.684622067767159),"data.frame"))

绘图代码:

library(ggplot)
ggplot(Data1,aes(dose,medPOC,col=Curve))+ 
      geom_point(size=4,shape=1) +
      geom_smooth(method="dr4pl",se=F)+ 
      coord_trans(x="log10")+
      theme_bw()+
      scale_x_continuous(breaks = c(0.01,100))+
      theme(plot.title = element_text(lineheight = 0.9,face="bold",size=20,hjust=0.5))+
      ggtitle("Dose Response")+
      theme(axis.title = element_text(face="bold",size = 14))+
      theme(axis.text = element_text(face="bold",size = 12,colour="black"))+
      theme(panel.spacing = unit(0.8,"lines"))+
      scale_color_manual(values = c("Curve1" = "grey28","Curve2" = "yellow2","Curve3"="tomato2"))

任何帮助将不胜感激!!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱: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...