library(readr)
Übung 1
?read_delim
Folgende Argumente werden verwendet:
- Spaltentrennzeichen:
delim
, dieses Argument folgt nach dem Dateinamen; wird es nicht angegeben, versucht die Funktion das Spaltentrennzeichen automatisch zu erkennen - Dezimaltrennzeichen:
locale
(z.B.locale=locale(decimal_mark=",")
für deutsche Zahlenschreibweise) - Fehlende Werte:
na
Übung 2
df = read_csv2("homework.csv")) (
# A tibble: 4 × 4
category temperature age height
<chr> <dbl> <dbl> <dbl>
1 A 23.5 33 76.1
2 A 20.1 17 65.2
3 X 19.6 65 99.0
4 B 13.3 54 87.2
Die Datentypen der vier Spalten sind <chr>
, <dbl>
, <dbl>
, <dbl>
– d.h. das deutsche Zahlenformat wurde korrekt importiert.
Übung 3
= read_csv("wahl16.csv")
wahl16 round(colSums(wahl16[, -1]) / sum(wahl16[, -1]) * 100, 1)
griss hofer hundstorfer khol lugner vdb
18.9 35.1 11.3 11.1 2.3 21.3
Übung 4
= read_csv2("covid19.csv")
covid "Time"]] = as.Date(covid[["Time"]], format="%d.%m.%Y")
covid[[ covid
# A tibble: 12,170 × 12
Time Bundesland BundeslandID AnzEinwohner AnzahlFaelle AnzahlFaelleSum AnzahlFaelle7Tage SiebenTageInzidenzFa…¹
<date> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2020-02-26 Burgenland 1 299235 0 0 0 0
2 2020-02-26 Kärnten 2 566166 0 0 0 0
3 2020-02-26 Niederöst… 3 1708140 0 0 0 0
4 2020-02-26 Oberöster… 4 1512226 0 0 0 0
5 2020-02-26 Salzburg 5 564293 0 0 0 0
6 2020-02-26 Steiermark 6 1256890 0 0 0 0
7 2020-02-26 Tirol 7 766492 0 0 0 0
8 2020-02-26 Vorarlberg 8 403203 0 0 0 0
9 2020-02-26 Wien 9 1951354 1 1 1 0.0512
10 2020-02-26 Österreich 10 9027999 1 1 1 0.0111
# ℹ 12,160 more rows
# ℹ abbreviated name: ¹SiebenTageInzidenzFaelle
# ℹ 4 more variables: AnzahlTotTaeglich <dbl>, AnzahlTotSum <dbl>, AnzahlGeheiltTaeglich <dbl>, AnzahlGeheiltSum <dbl>
dim(covid)
[1] 12170 12
Man könnte die gewünschten Spaltentypen auch direkt beim Importieren mittels col_types
angeben:
= read_csv2("covid19.csv", col_types=cols(Time=col_date("%d.%m.%Y %H:%M:%S"))) covid
Übung 5
df = read_delim("household_power_consumption.zip", delim=";", na=c("?", ""))) (
# A tibble: 2,075,259 × 9
Date Time Global_active_power Global_reactive_power Voltage Global_intensity Sub_metering_1 Sub_metering_2
<chr> <time> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 16/12/2006 17:24 4.22 0.418 235. 18.4 0 1
2 16/12/2006 17:25 5.36 0.436 234. 23 0 1
3 16/12/2006 17:26 5.37 0.498 233. 23 0 2
4 16/12/2006 17:27 5.39 0.502 234. 23 0 1
5 16/12/2006 17:28 3.67 0.528 236. 15.8 0 1
6 16/12/2006 17:29 3.52 0.522 235. 15 0 2
7 16/12/2006 17:30 3.70 0.52 235. 15.8 0 1
8 16/12/2006 17:31 3.7 0.52 235. 15.8 0 1
9 16/12/2006 17:32 3.67 0.51 234. 15.8 0 1
10 16/12/2006 17:33 3.66 0.51 234. 15.8 0 2
# ℹ 2,075,249 more rows
# ℹ 1 more variable: Sub_metering_3 <dbl>
dim(df) # 2.075.259 Zeilen und 9 Spalten
[1] 2075259 9
Die Spalte Date
könnte man noch in einen passenderen Typ konvertieren (ist jetzt character
).
Übung 6
= c(1, 2, 3)
x factor(x, levels=c(1, 2), labels=c("one", "two"))
[1] one two <NA>
Levels: one two
Man erkennt, dass alle Stufen, die nicht in levels
enthalten sind, auch nicht im resultierenden Faktor vorkommen. Daher werden solche Werte auf NA
gesetzt.