mario-compare-models

lm
regression
interaction
Published

June 14, 2024

1 Aufgabe

Variieren Sie das folgende Modell mit einer bzw. beiden UV bzw. mit Interaktionseffekt. Welches Modell ist am besten?

lm_mario_2uv <- lm(total_pr ~ start_pr + ship_pr, data = mariokart %>% filter(total_pr < 100))

Hinweise:

  • Nutzen Sie den Datensatz mariokart.
  • Bonus: Visualisieren Sie das Streudiagramm!

Den Datensatz können Sie hier beziehen:

mariokart <- read.csv("https://vincentarelbundock.github.io/Rdatasets/csv/openintro/mariokart.csv")

2 Lösung

library(easystats)
library(tidyverse)

Modelle berechnen:

library(easystats)

# Modell a
lm_mario_2uv <- lm(total_pr ~ start_pr + ship_pr, data = mariokart %>% filter(total_pr < 100))

# Modell b
lm_mario_start_pr <- lm(total_pr ~ start_pr, data = mariokart %>% filter(total_pr < 100))

# Modell c
lm_mario_ship_pr <- lm(total_pr ~  ship_pr, data = mariokart %>% filter(total_pr < 100))

# Modell d
lm_mario_2uv_interaktion <- lm(total_pr ~ start_pr + ship_pr + start_pr:ship_pr, data = mariokart %>% filter(total_pr < 100))

Modellgüten ausgeben lassen:

r2(lm_mario_2uv)
# R2 for Linear Regression
       R2: 0.107
  adj. R2: 0.094
r2(lm_mario_start_pr)
# R2 for Linear Regression
       R2: 0.107
  adj. R2: 0.101
r2(lm_mario_ship_pr)
# R2 for Linear Regression
       R2: 0.000
  adj. R2: -0.007
r2(lm_mario_2uv_interaktion)
# R2 for Linear Regression
       R2: 0.108
  adj. R2: 0.088

3 BONUS

Visualisieren Sie das Streudiagramm!

library(DataExplorer)

mariokart |> 
  select(total_pr, ship_pr) |> 
  filter(total_pr < 100) |> 
  plot_scatterplot( "total_pr")

library(ggpubr)

ggscatter(mariokart |> filter(total_pr < 100),
          x = "ship_pr",
          y = "total_pr",
          add = "reg.line")