Bird
Raised Fist0
R Programmingprogramming~10 mins

Linear regression (lm) in R Programming - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to fit a linear model predicting mpg from hp.

R Programming
model <- lm(mpg ~ [1], data = mtcars)
Drag options to blanks, or click blank then click option'
Ahp
Bmpg
Ccyl
Dwt
Attempts:
3 left
💡 Hint
Common Mistakes
Using the response variable 'mpg' as predictor.
Using unrelated variables like 'cyl' or 'wt' without instruction.
2fill in blank
medium

Complete the code to view the summary of the linear model.

R Programming
summary([1])
Drag options to blanks, or click blank then click option'
Amodel
Bmtcars
Clm
Dsummary
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the dataset 'mtcars' instead of the model.
Passing the function name 'lm' or 'summary' itself.
3fill in blank
hard

Fix the error in the code to extract coefficients from the model.

R Programming
coef <- [1](model)
Drag options to blanks, or click blank then click option'
Acoefficients
Bsummary
Ccoef
Dcoeff
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'summary' which returns a summary object, not coefficients directly.
Using 'coefficients' or 'coeff' which are not functions.
4fill in blank
hard

Fill both blanks to create a new data frame with predicted mpg values.

R Programming
new_data <- data.frame(hp = c(100, 150, 200))
predictions <- predict([1], newdata = [2])
Drag options to blanks, or click blank then click option'
Amodel
Bnew_data
Cmtcars
Dlm
Attempts:
3 left
💡 Hint
Common Mistakes
Using the dataset 'mtcars' instead of new data for predictions.
Using 'lm' instead of the model object.
5fill in blank
hard

Fill all three blanks to create a scatter plot with regression line.

R Programming
plot(mtcars$hp, mtcars$mpg, xlab = [1], ylab = [2], main = [3])
abline(model, col = "red")
Drag options to blanks, or click blank then click option'
A"Horsepower"
B"Miles per Gallon"
C"MPG vs Horsepower"
D"Weight"
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up x and y labels.
Using unrelated labels like 'Weight'.

Practice

(1/5)
1. What does the lm() function in R do?
easy
A. Fits a linear regression model to predict a variable
B. Creates a plot of data points
C. Calculates the mean of a numeric vector
D. Performs a t-test between two groups

Solution

  1. Step 1: Understand the purpose of lm() and compare options

    The lm() function is used to fit linear models, which means it finds a line that best predicts one variable from others. Options A, B, and D describe other functions or analyses, not linear regression modeling.
  2. Final Answer:

    Fits a linear regression model to predict a variable -> Option A
  3. Quick Check:

    lm() fits linear regression [OK]
Hint: Remember: lm() stands for linear model fitting [OK]
Common Mistakes:
  • Confusing lm() with plotting functions
  • Thinking lm() calculates summary statistics only
  • Mixing lm() with hypothesis testing functions
2. Which of the following is the correct syntax to fit a linear model predicting y from x in R?
easy
A. model <- lm(y ~ x, data = mydata)
B. model <- lm(x ~ y, data = mydata)
C. model <- lm(y, x, data = mydata)
D. model <- lm(data = mydata, y = x)

Solution

  1. Step 1: Recall the formula syntax for lm() and check options

    The correct syntax uses lm(response ~ predictor, data = dataset). Here, y is the response and x the predictor. model <- lm(y ~ x, data = mydata) matches. model <- lm(x ~ y, data = mydata) reverses response and predictor. model <- lm(y, x, data = mydata) uses wrong argument order. model <- lm(data = mydata, y = x) uses = instead of ~.
  2. Final Answer:

    model <- lm(y ~ x, data = mydata) -> Option A
  3. Quick Check:

    lm(response ~ predictor, data) [OK]
Hint: Formula is always response ~ predictor in lm() [OK]
Common Mistakes:
  • Swapping response and predictor variables
  • Passing variables without formula syntax
  • Misordering arguments in lm()
3. What will be the output of this R code?
data <- data.frame(x = 1:5, y = c(2, 4, 6, 8, 10))
model <- lm(y ~ x, data = data)
coef(model)
medium
A. Intercept = 0, Slope = 1
B. Intercept = 2, Slope = 1
C. Intercept = 1, Slope = 2
D. Intercept = 0, Slope = 2

Solution

  1. Step 1: Analyze data and model fit

    The data has x = 1 to 5 and y = 2,4,6,8,10 which is exactly y = 2*x. Since y = 2*x perfectly, intercept is 0 and slope is 2.
  2. Final Answer:

    Intercept = 0, Slope = 2 -> Option D
  3. Quick Check:

    y = 2*x means intercept 0, slope 2 [OK]
Hint: Check if y is exactly a multiple of x for slope [OK]
Common Mistakes:
  • Assuming intercept is 1 by default
  • Mixing up slope and intercept values
  • Not checking data pattern before fitting
4. Identify the error in this R code for linear regression:
data <- data.frame(x = 1:4, y = c(3, 6, 9, 12))
model <- lm(y = x, data = data)
summary(model)
medium
A. Missing library call for lm()
B. Incorrect formula syntax in lm()
C. summary() cannot be used on lm objects
D. Data frame creation is wrong

Solution

  1. Step 1: Check lm() call and verify other code

    The lm() function requires a formula like response ~ predictor. Here, y = x is incorrect syntax. Data frame creation is correct. summary() works on lm objects. lm() is base R, no library needed.
  2. Final Answer:

    Incorrect formula syntax in lm() -> Option B
  3. Quick Check:

    lm() needs formula, not y = x [OK]
Hint: lm() needs formula like y ~ x, not y = x [OK]
Common Mistakes:
  • Using = instead of ~ in lm() formula
  • Assuming summary() is not for lm objects
  • Thinking lm() requires extra libraries
5. You have a dataset with variables height and weight. You want to predict weight from height using linear regression. After fitting model <- lm(weight ~ height, data = df), the summary shows a very low R-squared value. What is the best next step?
hard
A. Remove the intercept term to force a better fit
B. Use the model as is because R-squared is not important
C. Try adding more predictor variables to improve the model
D. Switch to a t-test instead of regression

Solution

  1. Step 1: Interpret low R-squared and next steps

    A low R-squared means the model explains little of the variation in weight using height alone. Adding more predictors can help explain more variation. Removing intercept or ignoring R-squared is not good practice. A t-test is unrelated.
  2. Final Answer:

    Try adding more predictor variables to improve the model -> Option C
  3. Quick Check:

    Low R-squared? Add predictors [OK]
Hint: Low R-squared? Add more predictors to improve [OK]
Common Mistakes:
  • Removing intercept to fix low R-squared
  • Ignoring model fit quality
  • Confusing regression with hypothesis testing
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard