我一直在尝试使用ggplot和geom_smooth将指数曲线拟合到我的数据中。我试图复制类似问题的答案(geom_smooth和指数拟合),但不断收到以下错误消息:
> exp.model <-lm(y ~ exp(x), df)
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
NA/NaN/Inf in 'x'
我不明白错误,因为数据集中没有NA / NaN / Inf值:
>df
x y
1 1981 3.262897
2 1990 2.570096
3 2000 7.098903
4 2001 5.428424
5 2002 6.056302
6 2003 5.593942
7 2004 10.869635
8 2005 12.425793
9 2006 5.601889
10 2007 6.498187
11 2008 6.967503
12 2009 5.358961
13 2010 3.519295
14 2011 7.137202
15 2012 19.121631
16 2013 6.479928
我想用模型绘制指数拟合:
ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_smooth(method="lm", formula= (y ~ exp(x)), se=FALSE, linetype = 1)