Regression In R | R Multiple Regression - r - learn r - r programming

  • Multiple regression is an extension of linear regression into relationship between more than two variables.
  • In simple linear relation we have one predictor and one response variable, but in multiple regression we have more than one predictor variable and one response variable.
  • The general mathematical equation for multiple regression is
y = a + b1x1 + b2x2 +...bnxn
    • y is the response variable.
    • a, b1, are the coefficients.
    • x1, x2, ...xn are the predictor variables.
 r multiple regression
  • We create the regression model using the lm() function in R.
  • The model determines the value of the coefficients using the input data.
  • Next we can predict the value of the response variable for a given set of predictor variables using these coefficients.

lm() Function

  • This function creates the relationship model between the predictor and the response variable.


  • The basic syntax for lm() function in multiple regression is
lm(y ~ x1+x2+x3...,data)

Following is the description of the parameters used −

  • formula is a symbol presenting the relation between the response variable and predictor variables.
  • data is the vector on which the formula will be applied.


Input Data

  • Consider the data set "mtcars" available in the R environment.
  • It gives a comparison between different car models in terms of mileage per gallon (mpg), cylinder displacement("disp"), horse power("hp"), weight of the car("wt") and some more parameters.
  • The goal of the model is to establish the relationship between "mpg" as a response variable with "disp","hp" and "wt" as predictor variables.
  • We create a subset of these variables from the mtcars data set for this purpose.
input <- mtcars[,c("mpg","disp","hp","wt")]

When we execute the above code, it produces the following result −

                   mpg   disp   hp    wt
Mazda RX4          21.0  160    110   2.620
Mazda RX4 Wag      21.0  160    110   2.875
Datsun 710         22.8  108     93   2.320
Hornet 4 Drive     21.4  258    110   3.215
Hornet Sportabout  18.7  360    175   3.440
Valiant            18.1  225    105   3.460

Create Relationship Model & get the Coefficients

input <- mtcars[,c("mpg","disp","hp","wt")]

# Create the relationship model.
model <- lm(mpg~disp+hp+wt, data = input)

# Show the model.

# Get the Intercept and coefficients as vector elements.
cat("# # # # The Coefficient Values # # # ","\n")

a <- coef(model)[1]

Xdisp <- coef(model)[2]
Xhp <- coef(model)[3]
Xwt <- coef(model)[4]


When we execute the above code, it produces the following result −

lm(formula = mpg ~ disp + hp + wt, data = input)

(Intercept)         disp           hp           wt  
  37.105505      -0.000937        -0.031157    -3.800891  

# # # # The Coefficient Values # # # 

Create Equation for Regression Model

  • Based on the above intercept and coefficient values, we create the mathematical equation
Y = a+Xdisp.x1+Xhp.x2+Xwt.x3
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3

Apply Equation for predicting New Values

  • We can use the regression equation created above to predict the mileage when a new set of values for displacement, horse power and weight is provided.

For a car with disp = 221, hp = 102 and wt = 2.91 the predicted mileage is

Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104

Related Searches to Regression In R | R Multiple Regression