可能有一个非常简单的解决方案,但我是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
答案 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
>