library(tidyverse)
library(visdat)
16 Fallstudie Penguins Lösungen
Diese Fallstudie soll dazu dienen, den bisher gelernten Stoff sinnvoll auf einen Datensatz anzuwenden. Beschreibt in eurer Lösung am besten die einzelnen Schritte, die ihr ausführt, mit #Erklärungstext über dem Code. So ist euer Code nachvollziehbarer und in der Prüfung solltet ihr das genauso machen.
16.1 Pakete laden
Lade die erforderlichen Pakte (tidyverse, visdat)
16.2 Datenimport
Importiere den penguins Datensatz:
<- read.csv("https://vincentarelbundock.github.io/Rdatasets/csv/palmerpenguins/penguins.csv") penguins
16.3 Datenjudo
Lass dir die obersten Zeilen ausgeben
%>%
penguins head()
Verschaffe dir einen Überblick über die Variablentypen
%>%
penguins sapply(class)
rownames species island bill_length_mm
"integer" "character" "character" "numeric"
bill_depth_mm flipper_length_mm body_mass_g sex
"numeric" "integer" "integer" "character"
year
"integer"
Prüfe auf fehlende Werte
%>%
penguins summarise((across(everything(),~sum(is.na(.x)))))
Prüfe die Variablen auf Ausreißer/Extremwerte
# Am Beipiel von flipper_length_mm:
ggplot(penguins, aes(flipper_length_mm))+
geom_boxplot()
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_boxplot()`).
16.4 Datenvisualisierung
Plotte die Variablentypen
vis_dat(penguins)
Sieh dir die Verteilung von flipper_length_mm
an
ggplot(penguins, aes(x = flipper_length_mm)) +
geom_histogram()
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_bin()`).
Sieh dir die Verteilung von flipper_length_mm
in Abhängigkeit von der Spezies an
ggplot(penguins, aes(x = flipper_length_mm)) +
geom_histogram(aes(fill = species), alpha = 0.7)
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_bin()`).
Sieh dir die Verteilung der verschiedenen Spezies auf die unterschiedlichen Inseln an
ggplot(penguins, aes(x = island, fill = species)) +
geom_bar(alpha = 0.8) +
facet_wrap(~species, ncol = 1) +
coord_flip()
Sieh dir die Verteilung der Geschlechter unter den verschiedenen Spezies an
ggplot(penguins, aes(x = sex, fill = species)) +
geom_bar(alpha = 0.8) +
facet_wrap(~species, ncol = 1) +
coord_flip()
Sieh dir das Verhältnis von body_mass_g
zu flipper_length_mm
in Abhängigkeit der Spezies an und hebe, falls vorhanden, einen linearen Trend hervor
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) +
geom_point(aes(color = species,
shape = species))+
geom_smooth(method = lm)
`geom_smooth()` using formula = 'y ~ x'
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_smooth()`).
Warning: Removed 2 rows containing missing values or values outside the scale range
(`geom_point()`).
Sieh dir das Verhältnis von body_mass_g
zu flipper_length_mm
in Abhängigkeit des Geschlechts für jede Spezies an
ggplot(penguins, aes(x = flipper_length_mm,
y = body_mass_g)) +
geom_point(aes(color = sex)) +
facet_wrap(~species)
Warning: Removed 2 rows containing missing values or values outside the scale range
(`geom_point()`).