以下是可以帮助您入门的草图。
## get the data
tmp <- read.table(text="1991 438
1992 408
1993 381
1994 361
1995 338
1996 315
1997 289
1998 261
1999 229
2000 206
2001 190
2002 173
2003 151
2004 141
2005 126
2006 108
2007 99
2008 93
2009 85
2010 77
2011 71
2012 67", col.names=c("Year", "value"))
library(ggplot2)
## develop a model
tmp$pred1 <- predict(lm(value ~ poly(Year, 2), data=tmp))
## look at the data
p1 <- ggplot(tmp, aes(x = Year, y=value)) +
geom_line() +
geom_point() +
geom_hline(aes(yintercept=0))
print(p1)
## check the model
p1 +
geom_line(aes(y = pred1), color="red")
## extrapolate based on model
pred <- data.frame(Year=1990:2050)
pred$value <- predict(lm(value ~ poly(Year, 2), data=tmp),newdata=pred)
p1 +
geom_line(color="red", data=pred)
在这种情况下,我们的模型说这条线永远不会过零。如果这没有意义,那么您将需要选择不同的模型。无论您选择哪种模型,将结果与数据一起绘制成图表,以便您了解自己的表现。