R 使用ggplot2-类型为'的错误对象拟合nls;符号';不可再附加
我正在尝试使用以下数据对ggplot进行nls拟合:R 使用ggplot2-类型为'的错误对象拟合nls;符号';不可再附加,r,ggplot2,curve-fitting,data-fitting,nls,R,Ggplot2,Curve Fitting,Data Fitting,Nls,我正在尝试使用以下数据对ggplot进行nls拟合: df对于nls您必须更仔细地指定参数。另外,您可能不想使用log(y),因为这将绘制对数,而不是y。我的猜测是,您希望使用类似于y~exp(a+b*x)的东西。请参见下面的示例 ggplot(df, aes(x = t, y = m))+ geom_point()+ geom_smooth(method = "nls", formula = y ~ exp(a + b * x), start=list(a=0, b=1), se=F
df对于nls
您必须更仔细地指定参数。另外,您可能不想使用log(y)
,因为这将绘制对数,而不是y
。我的猜测是,您希望使用类似于y~exp(a+b*x)
的东西。请参见下面的示例
ggplot(df, aes(x = t, y = m))+
geom_point()+
geom_smooth(method = "nls", formula = y ~ exp(a + b * x), start=list(a=0, b=1), se=FALSE)
您还可以使用glm
而不是nls
。例如,下面给出了相同的解决方案
ggplot(df, aes(x = t, y = m))+
geom_point()+
geom_smooth(method = "glm", formula = y ~ x, family=gaussian(link = "log"), se=FALSE)
ggplot(df, aes(x = t, y = m))+
geom_point()+
geom_smooth(method = "nls", formula = y ~ exp(a + b * x), start=list(a=0, b=1), se=FALSE)
ggplot(df, aes(x = t, y = m))+
geom_point()+
geom_smooth(method = "glm", formula = y ~ x, family=gaussian(link = "log"), se=FALSE)