<- read.csv("https://vincentarelbundock.github.io/Rdatasets/csv/openintro/mariokart.csv") mariokart
mario-compare-models
lm
regression
interaction
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:
2 Lösung
library(easystats)
library(tidyverse)
Modelle berechnen:
library(easystats)
# Modell a
<- lm(total_pr ~ start_pr + ship_pr, data = mariokart %>% filter(total_pr < 100))
lm_mario_2uv
# Modell b
<- lm(total_pr ~ start_pr, data = mariokart %>% filter(total_pr < 100))
lm_mario_start_pr
# Modell c
<- lm(total_pr ~ ship_pr, data = mariokart %>% filter(total_pr < 100))
lm_mario_ship_pr
# Modell d
<- lm(total_pr ~ start_pr + ship_pr + start_pr:ship_pr, data = mariokart %>% filter(total_pr < 100)) lm_mario_2uv_interaktion
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")