Laden Sie die folgenden Packages und Data Frames:
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.1 ✔ readr 2.2.0
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.3 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.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 regrouped the output.
## ℹ Summaries were computed grouped by V and Cons.
## ℹ Output is grouped by V.
## ℹ Use `summarise(.groups = "drop_last")` to silence this message.
## ℹ Use `summarise(.by = c(V, Cons))` for per-operation grouping
## (`?dplyr::dplyr_by`) instead.
## # 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 (d) aller unbetonten
(un, Faktor Bet) und betonten
(be, Faktor Bet) /t/-Konsonanten
(t, Faktor Kons) (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 regrouped the output.
## ℹ Summaries were computed grouped by Vpn and Bet.
## ℹ Output is grouped by Vpn.
## ℹ Use `summarise(.groups = "drop_last")` to silence this message.
## ℹ Use `summarise(.by = c(Vpn, Bet))` for per-operation grouping
## (`?dplyr::dplyr_by`) instead.
## # 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 regrouped the output.
## ℹ Summaries were computed grouped by Vpn and Bet.
## ℹ Output is grouped by Vpn.
## ℹ Use `summarise(.groups = "drop_last")` to silence this message.
## ℹ Use `summarise(.by = c(Vpn, Bet))` for per-operation grouping
## (`?dplyr::dplyr_by`) instead.
## # 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 regrouped the output.
## ℹ Summaries were computed grouped by region and city.
## ℹ Output is grouped by region.
## ℹ Use `summarise(.groups = "drop_last")` to silence this message.
## ℹ Use `summarise(.by = c(region, city))` for per-operation grouping
## (`?dplyr::dplyr_by`) instead.
## # 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 regrouped the output.
## ℹ Summaries were computed grouped by city, region, and cplace.
## ℹ Output is grouped by city and region.
## ℹ Use `summarise(.groups = "drop_last")` to silence this message.
## ℹ Use `summarise(.by = c(city, region, cplace))` for per-operation grouping
## (`?dplyr::dplyr_by`) instead.