我正在尝试将 sigmoid 拟合到一些剂量反应数据。当我在 ggplot 之外使用 nls 时,它工作正常。当我在 geom_smooth 中使用它时,它会引发以下错误:
Error in numericDeriv(form[[3L]], names(ind), env) :
Missing value or an infinity produced when evaluating the model
示例数据如下所示:
x=c(1e-12, 1e-08, 1e-07, 1e-06, 1e-05, 1e-04)
y=c(8.161304, 11.191990, 13.453300, 14.633020, 16.227570, 15.480510)
myData<-data.frame(x=x,y=y)
myEquation=y ~ min+((max-min)/(1+10^(ec50-log10(x))))
startingGuess<-list(ec50=-8, min=8, max=15)
电话是:
fitModel = nls(myEquation,myData, start = startingGuess,trace=TRUE)
和:
ggplot(data=myData,aes(x=x,y=y)) +
geom_point() +
scale_x_log10() +
geom_smooth(method="nls",formula = myEquation,start = startingGuess,trace=TRUE)
我做错了什么吗?