Die nach Anzahl Zylinder gruppierten Autos mit dem geringsten Literverbrauch auf 100km in der zufaellig generierten Stichprobe sind:
Pakete laden
library(tidyverse) # Tidyverse-Universum ist eine Sammlung von Best Practice DS Paketen für R
# Details gibt's auf https://www.tidyverse.org/
library(summarytools) # visuelle Darstellung statistischer Kennzahlen und Verteilungen
library(magrittr) # Nutzung von %<>% Operator in Pipes
(d <- as_tibble(mtcars))
## # A tibble: 32 x 11
## mpg cyl disp hp drat wt qsec vs am gear carb
## * <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
## 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
## 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
## 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1
## 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
## 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1
## 7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
## 8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2
## 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2
## 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4
## # ... with 22 more rows
# Codebook anzeigen falls noetig
# ?mtcars
str(d)
## Classes 'tbl_df', 'tbl' and 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
# ein wenig bessere Darstellung als str()
glimpse(d)
## Observations: 32
## Variables: 11
## $ mpg <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19....
## $ cyl <dbl> 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 4, 4, ...
## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1...
## $ hp <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, ...
## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9...
## $ wt <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3...
## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2...
## $ vs <dbl> 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, ...
## $ am <dbl> 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, ...
## $ gear <dbl> 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, ...
## $ carb <dbl> 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2, ...
summary(d)
## mpg cyl disp hp
## Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
## 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
## Median :19.20 Median :6.000 Median :196.3 Median :123.0
## Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
## 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
## Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
## drat wt qsec vs
## Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
## 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
## Median :3.695 Median :3.325 Median :17.71 Median :0.0000
## Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
## 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
## Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
## am gear carb
## Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :5.000 Max. :8.000
# Bessere Darstellung statistischer Kennzahlen inkl. Diagramme
view(dfSummary(d))
## Method 'viewer' only valid within RStudio. Switching method to 'browser'.
## Output file written: C:\Users\u219084\AppData\Local\Temp\RtmpSETH6m\filee3c1ba577ca.html
# mehr Moeglichkeiten zu summarytools: https://github.com/dcomtois/summarytools
# Attribut Benzinverbrauch in l auf 100km erstellen
reihen_namen <- rownames(d)
d %<>% # entspricht d <- d %>% ...
mutate(carname = reihen_namen,
lbp100km = round((100 * 3.785411784)/(1.609344 * mpg),2))
# https://www.calculateme.com/gas-mileage/us-mpg-to-liters-per-100-km
# Zufaelliges Datensubset generieren
set.seed(22) # sorgt fuer eindeutige Ergebnisse trotz Zufallsfunktion
(d_sample <- d %>%
group_by(cyl) %>%
sample_n(3) %>%
ungroup(cyl))
## # A tibble: 9 x 13
## mpg cyl disp hp drat wt qsec vs am gear carb carna~
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
## 1 32.4 4 78.7 66 4.08 2.2 19.5 1 1 4 1 Fiat ~
## 2 30.4 4 75.7 52 4.93 1.62 18.5 1 1 4 2 Honda~
## 3 26 4 120. 91 4.43 2.14 16.7 0 1 5 2 Porsc~
## 4 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1 Valia~
## 5 17.8 6 168. 123 3.92 3.44 18.9 1 0 4 4 Merc ~
## 6 19.7 6 145 175 3.62 2.77 15.5 0 1 5 6 Ferra~
## 7 15.5 8 318 150 2.76 3.52 16.9 0 0 3 2 Dodge~
## 8 15.2 8 304 150 3.15 3.44 17.3 0 0 3 2 AMC J~
## 9 10.4 8 472 205 2.93 5.25 18.0 0 0 3 4 Cadil~
## # ... with 1 more variable: lbp100km <dbl>
# passende Attribute auswaehlen
(d_sample %<>%
select(carname, lbp100km, mpg, cyl))
## # A tibble: 9 x 4
## carname lbp100km mpg cyl
## <chr> <dbl> <dbl> <dbl>
## 1 Fiat 128 7.26 32.4 4
## 2 Honda Civic 7.74 30.4 4
## 3 Porsche 914-2 9.05 26 4
## 4 Valiant 13 18.1 6
## 5 Merc 280C 13.2 17.8 6
## 6 Ferrari Dino 11.9 19.7 6
## 7 Dodge Challenger 15.2 15.5 8
## 8 AMC Javelin 15.5 15.2 8
## 9 Cadillac Fleetwood 22.6 10.4 8
# Datenstichprobe alle Elemente
d_sample
## # A tibble: 9 x 4
## carname lbp100km mpg cyl
## <chr> <dbl> <dbl> <dbl>
## 1 Fiat 128 7.26 32.4 4
## 2 Honda Civic 7.74 30.4 4
## 3 Porsche 914-2 9.05 26 4
## 4 Valiant 13 18.1 6
## 5 Merc 280C 13.2 17.8 6
## 6 Ferrari Dino 11.9 19.7 6
## 7 Dodge Challenger 15.2 15.5 8
## 8 AMC Javelin 15.5 15.2 8
## 9 Cadillac Fleetwood 22.6 10.4 8
# Datenstichprobe tiefster Literverbrauch/100km-Wert pro Gruppe Zylinder
(d_tiefster_verbraucht <- d_sample %>%
group_by(cyl) %>% # gruppieren nach Zylinder
top_n(-1, wt=lbp100km) %>% # - waehlt tiefstes Element aus Gruppe, wt definiert zu filternde Spalte
ungroup()) # Gruppierung aufheben
## # A tibble: 3 x 4
## carname lbp100km mpg cyl
## <chr> <dbl> <dbl> <dbl>
## 1 Fiat 128 7.26 32.4 4
## 2 Ferrari Dino 11.9 19.7 6
## 3 Dodge Challenger 15.2 15.5 8
Die Autos mit dem geringsten Literverbrauch auf 100km in der zufaellig generierten Stichprobe sind: