R试图预测未来的人口

时间:2017-12-08 21:48:25

标签: r

可能有一个非常简单的解决方案,但我是R的新人,所以我很难在理解这个练习时理解这个解决方案。

我基本上有以下数据,并希望预测2020年以下数据的线性回归。

  

数据      Geographic.Area Census Estimates.Base X2010 X2011 X2012 X2013   15 Florida 18801310 18804592 18849098 19096952 19344156 19582022         X2014 X2015 X2016 X2020   15 19888741 20244914 20612439 0

每年都有自己的专栏,2020年的价值为0.试图预测其价值。

我知道我必须从以下路径开始:

  

线性= lm(X2020~年,数据=数据)

但是我收到错误并且返回的数字不正确。我该如何继续这个?答案可能很简单,但我仍然试图了解其工作原理,以便预测2020年的价值。

编辑: 至于代码我做了以下我可以看到的错误。但不确定采取什么措施来纠正它。

  

线性= lm(X2020~X2010 + X2011 + X2012 + X2013 + X2014 + X2015 + X2016,数据=佛罗里达)   线性

呼叫: lm(公式= X2020~X2010 + X2011 + X2012 + X2013 + X2014 +     X2015 + X2016,数据=佛罗里达州)

系数: (拦截)X2010 X2011 X2012 X2013 X2014
          0 NA NA NA NA NA
      X2015 X2016
         NA NA

1 个答案:

答案 0 :(得分:0)

以下是使用lm()进行此分析的方法。由于OP数据源与人口数值不符,所以我使用了美国事实查询器的数据。

 # data from https://factfinder.census.gov/faces/tableservices/jsf/pages/productview.xhtml?src=CF

rawData <- "state year population
FL 2010 18511620
FL 2011 18688767
FL 2012 18885152
FL 2013 19091156
FL 2014 19361792
FL 2015 19645772
FL 2016 19934451"

flPopulation <- read.table(textConnection(rawData),header=TRUE)
theModel <- lm(population ~ year,data = flPopulation)
year <- 2017:2020 
predictions <- (year * theModel$coef[2]) + theModel$coef[1]
summary(theModel) 
data.frame(year,predictions)

...和输出:

> summary(theModel)

Call:
lm(formula = population ~ year, data = flPopulation)

Residuals:
     1      2      3      4      5      6      7 
 65284   4604 -36837 -68660 -35850  10303  61156 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -459585001   21171220  -21.71 3.85e-06 ***
year            237826      10517   22.61 3.14e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 55650 on 5 degrees of freedom
Multiple R-squared:  0.9903,    Adjusted R-squared:  0.9884 
F-statistic: 511.3 on 1 and 5 DF,  p-value: 3.144e-06

> data.frame(year,predictions)
  year predictions
1 2017    20111122
2 2018    20348948
3 2019    20586775
4 2020    20824601
>