Laden Sie die folgenden Packages und Data Frames:
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
urla = "https://www.phonetik.uni-muenchen.de/studium_lehre/"
urlb = "lehrmaterialien/R_speech_processing/Rdf"
url = paste0(urla, urlb)
rating <- read.table(file.path(url, "rating.txt"),
stringsAsFactors = T)
preasp <- read.table(file.path(url, "preasp.txt"),
stringsAsFactors = T)
asp <- read.table(file.path(url, "asp.txt"),
stringsAsFactors = T)
vdata <- read.table(file.path(url, "vdata.txt"),
stringsAsFactors = T)vdata
zählen Sie, wie oft die Kombinationen der Vokal- (V) und
Konsonantstufen (Kons) vorkommen (d.h. wieviele
Beobachtungen, die sowohl einen A als auch einen
P haben, wieviele Beobachtungen die sowohl einen
A und einen T haben, wieviele Beobachtungen
die sowohl einen Y und einen K usw. für alle
möglichen Kombinationen von Vokalen und Konsonanten). (Ergebnis hat 21
Reihen und 3 Spalten).## `summarise()` has grouped output by 'V'. You can override using the `.groups`
## argument.
## # A tibble: 21 × 3
## V Cons count
## <fct> <fct> <int>
## 1 % K 142
## 2 % P 142
## 3 % T 142
## 4 A K 147
## 5 A P 141
## 6 A T 144
## 7 E K 144
## 8 E P 140
## 9 E T 141
## 10 I K 142
## # ℹ 11 more rows
asp
berechnen Sie getrennt für die Versuchspersonen dlm und
hpt den Dauermittelwert aller unbetonten (un,
Faktor Bet) und betonten (be, Faktor
Bet) /t/-Konsonanten (Ergebnis hat 4 Reihen und 3
Spalten).asp %>%
filter(Vpn %in% c("dlm", "hpt") & Kons == "t") %>%
group_by(Vpn, Bet) %>%
summarise(mean(d)) %>%
ungroup()## `summarise()` has grouped output by 'Vpn'. You can override using the `.groups`
## argument.
## # A tibble: 4 × 3
## Vpn Bet `mean(d)`
## <fct> <fct> <dbl>
## 1 dlm be 57.6
## 2 dlm un 31.1
## 3 hpt be 50.0
## 4 hpt un 31.2
# oder
asp %>%
filter(Vpn %in% c("dlm", "hpt")) %>%
filter(Kons == "t") %>%
group_by(Vpn, Bet) %>%
summarise(mean(d)) %>%
ungroup()## `summarise()` has grouped output by 'Vpn'. You can override using the `.groups`
## argument.
## # A tibble: 4 × 3
## Vpn Bet `mean(d)`
## <fct> <fct> <dbl>
## 1 dlm be 57.6
## 2 dlm un 31.1
## 3 hpt be 50.0
## 4 hpt un 31.2
cplace) im Data Frame preasp die
maximale, minimale und durchschnittliche Verschlussdauer
(clodur), und sortieren Sie den erzeugten Data Frame nach
absteigender durchschnittlicher Verschlussdauer. (Ergebnis hat 3 Reihen
und 4 Spalten)preasp %>%
group_by(cplace) %>%
summarise(maxdur = max(clodur),
meandur = mean(clodur),
mindur = min(clodur)) %>%
ungroup() %>%
arrange(desc(meandur))## # A tibble: 3 × 4
## cplace maxdur meandur mindur
## <fct> <dbl> <dbl> <dbl>
## 1 tt 0.328 0.199 0.0816
## 2 pp 0.279 0.181 0.111
## 3 kk 0.313 0.155 0.0373
preasp, wo der Vokal (vtype) “a”
und die Region (region) ungleich “C” ist, die
Standardabweichung der Vokaldauer (vdur) pro Region und
Stadt (city). (Ergebnis hat 12 Zeilen und 3
Spalten)preasp %>%
filter(vtype == "a" & region != "C") %>%
group_by(region, city) %>%
summarise(vdursd = sd(vdur)) %>%
ungroup()## `summarise()` has grouped output by 'region'. You can override using the
## `.groups` argument.
## # A tibble: 12 × 3
## region city vdursd
## <fct> <fct> <dbl>
## 1 N bergamo 0.0301
## 2 N genova 0.0219
## 3 N milano 0.0304
## 4 N parma 0.0342
## 5 N torino 0.0341
## 6 N venezia 0.0247
## 7 S bari 0.0206
## 8 S cagliari 0.0296
## 9 S Catanzaro 0.0408
## 10 S lecce 0.0279
## 11 S napoli 0.0316
## 12 S palermo 0.0272
Vpn) das erste und dritte Quartil des Ratings
(Rating) im Data Frame rating. (Ergebnis hat
26 Zeilen und 3 Spalten)rating %>%
group_by(Vpn) %>%
summarise(Q1 = quantile(Rating, .25),
Q3 = quantile(Rating, .75)) %>%
ungroup()## # A tibble: 26 × 3
## Vpn Q1 Q3
## <fct> <dbl> <dbl>
## 1 S1 5.65 6.83
## 2 S10 5.33 6.50
## 3 S11 5.54 6.58
## 4 S12 3.58 6.08
## 5 S13 5.54 6.58
## 6 S14 2.71 5.46
## 7 S15 5.25 6.12
## 8 S16 5.3 6
## 9 S17 6.53 7
## 10 S18 4.96 5.87
## # ℹ 16 more rows
rating den Median und den
Mittelwert der Ratings (Rating) pro Sprache
(Lang). (Ergebnis hat 2 Zeilen und 3 Spalten)rating %>%
slice_head(n=100) %>%
group_by(Lang) %>%
summarise(rat.med = median(Rating),
rat.mean = mean(Rating)) %>%
ungroup()## # A tibble: 2 × 3
## Lang rat.med rat.mean
## <fct> <dbl> <dbl>
## 1 E 6.5 6.36
## 2 S 6.33 6.29
Vpn) im Data Frame
rating gibt und bestätigen Sie, dass das Ergebnis davon hat
26 Zeilen und 2 Spalten hat.## [1] 26 2
spk es pro Stadt (city), Region
(region), und Konsonant (cplace) im Data Frame
preasp gibt (Ergebnis hat 45 Zeilen und 4 Spalten). Lassen
Sie sich anschließend ausgeben, für welche Kombination(en) aus Stadt,
Region und Konsonant es die wenigsten einzigartigen Sprecher gibt. Tipp:
Hierfür müssen Sie sicherstellen, dass das Ergebnis des ersten Teils ein
ungruppierter Data Frame ist.df = preasp %>%
group_by(city, region, cplace) %>%
summarise(sprecher = n_distinct(spk)) %>%
ungroup() %>%
slice_min(sprecher, n = 1)## `summarise()` has grouped output by 'city', 'region'. You can override using
## the `.groups` argument.