0

I've been trying to fit an exponential curve to my data using ggplot and geom_smooth. I'm trying to replicate the answer to a similar problem (geom_smooth and exponential fits) but keep getting following error message:

> exp.model <-lm(y ~ exp(x), df)
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
  NA/NaN/Inf in 'x'

I don't understand the error, as there is not NA/NaN/Inf values in the dataset:

>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

I want to use the model to plot the exponential fit:

ggplot(df, aes(x=x, y=y)) + 
  geom_point() +
  geom_smooth(method="lm", formula= (y ~ exp(x)), se=FALSE, linetype = 1)
Rabea
  • 39
  • 1
  • 4

0 Answers0