Attache Paket: 'ggpubr'
Die folgenden Objekte sind maskiert von 'package:datawizard':
mean_sd, median_mad
library(DataExplorer)library(rbthemes)
data <-read.csv("https://raw.githubusercontent.com/sebastiansauer/statistik1/main/daten/Smartphone-Nutzung%20(Responses)%20-%20Form%20responses%201.csv")
Zunächst überprüfen wir, ob und wenn ja, in welchen Spalten es fehlende Werte gibt.
data %>%summarise((across(everything(),~sum(is.na(.x)))))
ABCDEFGHIJ0123456789
Timestamp
<int>
0
Bei den Spalten alter und preis scheint es einige fehlende Werte zu geben. Wir ersetzen diese mit dem Mittelwert der Spalten, um die anderen ausgefüllten Spalten nicht zu verlieren. Hierzu müssen wir alle numerischen Spalten in das Format double umwandenln.
data <- data %>%mutate(across(where(is.numeric), as.double))data <- data %>%mutate(across(where(is.numeric), ~replace_na(., mean(., na.rm =TRUE))))
data <- data %>%mutate(sex =factor(sex),os =factor(os))data <- data %>%mutate(sex =case_when(sex ==NA~"missing", sex =="Mann"~"männlich", sex =="Frau"~"weiblich"))data <- data %>%mutate(os =case_when(os ==NA~"missing", os =="iOS"~"iOS", os =="Android"~"Android"))
8.2 EDA
Jetzt können wir uns die Daten genauer unter die Lupe nehmen.
data %>%group_by(sex) %>%summarise(mean(price))
ABCDEFGHIJ0123456789
sex
<chr>
mean(price)
<dbl>
männlich
816.6667
weiblich
644.2628
NA
667.2500
data %>%group_by(os) %>%summarise(mean(price))
ABCDEFGHIJ0123456789
os
<chr>
mean(price)
<dbl>
Android
412.0000
iOS
740.1786
NA
667.2500
8.2.1 Berechnung des Smartphone-Addiction-Scores
Zur Erstellung einer Spalte, die das allgemeine Maß der Smartphone-Abhängigkeit angibt, berechnen wir einfach den Mittelwert aller Items:
data <- data %>%mutate(addiction_score =rowMeans(across(starts_with("item")))) %>%mutate(is_addicted =case_when(addiction_score >3.1& sex =="männlich"~"addicted", addiction_score >3.3& sex =="weiblich"~"addicted",TRUE~"not-addicted"))
data %>%ggdensity(x ="addiction_score", color ="sex")