How to do Linear Regression in R Using OLS Regression

In [2]:
# ------------------------------------------------------------
# How to do Linear Regression in R Using OLS Regression
# ------------------------------------------------------------
# load data longley data for Econometrics
library(pls)
data(longley)
Data <- as.matrix(longley)

dim(Data)
head(Data)

x <- Data[,1:6]
y <- Data[,7]

# ------------------------
# Using OLS Regression
# ------------------------

# fit model
fit <- lm(Employed~., longley)

# summarize the fit
summary(fit)

# make predictions
predictions <- predict(fit, longley)

# summarize accuracy
mse <- mean((longley$Employed - predictions)^2)
print(mse)

# visualise Linear Regression
plot(longley$Employed, predictions)
  1. 16
  2. 7
GNP.deflatorGNPUnemployedArmed.ForcesPopulationYearEmployed
194783.0 234.289235.6 159.0 107.6081947 60.323
194888.5 259.426232.5 145.6 108.6321948 61.122
194988.2 258.054368.2 161.6 109.7731949 60.171
195089.5 284.599335.1 165.0 110.9291950 61.187
195196.2 328.975209.9 309.9 112.0751951 63.221
195298.1 346.999193.2 359.4 113.2701952 63.639
Call:
lm(formula = Employed ~ ., data = longley)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.41011 -0.15767 -0.02816  0.10155  0.45539 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -3.482e+03  8.904e+02  -3.911 0.003560 ** 
GNP.deflator  1.506e-02  8.492e-02   0.177 0.863141    
GNP          -3.582e-02  3.349e-02  -1.070 0.312681    
Unemployed   -2.020e-02  4.884e-03  -4.136 0.002535 ** 
Armed.Forces -1.033e-02  2.143e-03  -4.822 0.000944 ***
Population   -5.110e-02  2.261e-01  -0.226 0.826212    
Year          1.829e+00  4.555e-01   4.016 0.003037 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.3049 on 9 degrees of freedom
Multiple R-squared:  0.9955,	Adjusted R-squared:  0.9925 
F-statistic: 330.3 on 6 and 9 DF,  p-value: 4.984e-10
[1] 0.0522765