• Keine Ergebnisse gefunden

Probleme. Siehe Seiten 9-10 von diesem Dokument für eine Zusammenfassung A. Vektoren und logische Vektoren Für Fragen 1-3 benötigen Sie einen Vektor der Dauerwerte,

N/A
N/A
Protected

Academic year: 2021

Aktie "Probleme. Siehe Seiten 9-10 von diesem Dokument für eine Zusammenfassung A. Vektoren und logische Vektoren Für Fragen 1-3 benötigen Sie einen Vektor der Dauerwerte,"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Probleme.

Siehe Seiten 9-10 von diesem Dokument für eine Zusammenfassung A. Vektoren und logische Vektoren

Für Fragen 1-3 benötigen Sie einen Vektor der Dauerwerte, dur, aus der Segmentliste von 3 Diphthongen dip.

dur = end(dip) – start(dip)

1. Die Anzahl der Segment mit einer Dauer weniger als 90 ms

2. Die Anzahl der Segmente mit einer Dauer größer als die durchschnittliche Dauer.

3. Schreiben Sie einen R-Befehl, um zu bestimmen, ob es irgendwelche Segmente mit einer Dauer zwischen 90 ms und 110 ms gibt.

Für Fragen 4-8 benötigen Sie den Vektor der Etikettierungen dip.l:

dip.l = label(dip)

4. Die durchschnittliche Dauer der "aU" Diphthonge.

5. Die Standardabweichung der Dauern aller "aI" und "aU" Segmente zusammen.

6. Die Dauern der ersten 20 "aI" Segmente.

B. Matrizen und logische Vektoren

Für Fragen 7-10 benötigen Sie eine Matrix von F1-F4 zum Segment-Onset der Diphthonge:

fonset = dcut(dip.fdat, 0, prop=T)

Schreiben Sie R-Befehle für diese Fälle bezogen auf F1-F4 zum Segment-Onset:

7. Der "aU" Segment mit einem F1-Maximum.

8. Der F2-Durchschnitt von "oY"

9. Schreiben Sie R-Befehle um festzustellen, ob der F1-Durchschnitt vom "aU" höher ist als der F1-Durchschnitt von "aI".

10. F1-F4 der ersten 10 "aU" Segmente.

C. Trackdateien und logische Vektoren

Für Fragen 11-15 benötigen Sie diese zueinander parallelen Objekte:

vowlax Segmentliste

vowlax.l Vektor der Etikettierungen

vowlax.fdat Trackdatei F1-F4

vowlax.fund Trackdatei Grundfrequenz

vowlax.rms Trackdatei dB-RMS.

1

(2)

sowie ggf. dcut() um Dateien aus Trackdateien entweder zu einem Zeitpunkt oder zwischen zwei Zeitpunkten zu extrahieren.

Schreiben Sie R-Befehle für die folgenden Fälle:

11. Eine Trackdatei der dB-RMS Werte von "O" und "a" Vokalen.

12. Eine Trackdatei von F2 und F4 von "E".

13. Eine Trackdatei der Grundfrequenz aller Vokale außer "E"

14. Eine Trackdatei von F1 und F2 der "E" und "O" Vokale.

15. Eine Matrix F1-F3 der Formanten zum Segment-Onset für "a" und "O".

16. Ein Vektor der Grundfrequenzwerte zum Segment-Offset aller Vokale außer "a".

(3)

0. Signale und Etikettierungen abfragen

3

(4)

1. Vektoren

vec = c(10, -5, 30, 1) a = bridge[,1]

vec2 = c("IPSK", 20, "Phonetik")

# wieviele Elemente?

length(a)

# Element 4 a[4]

# Elemente 4 und 8 a[c(4,8)]

# Alle Elemente außer Element 2 a[-2]

# letzter Element a[length(a)]

# Elemente 1-5 a[1:5]

# Elemente 5-1 a[5:1]

# Der Vektor in der umgekehrten Reihenfolge a[length(a):1]

# oder rev(a)

Arithmetische Funktionen

*, /, +, - Mal, Dividiert, Plus, Minus

# 20 von einem Vektor abziehen a - 20

# Zwei Vektoren derselben Länge miteinander multiplizieren x = c(10, 20, 30)

y = c(1, 4, -5) x * y

# Die erste Spalte von bridge dividiert durch die zweite bridge[,1]/bridge[,2]

Einige numerische Funktionen

length(): wieviele Elemente in einem Vektor?

mean(), median(), sd(): Durschschnitt, Zentralwert, Standardabweichung

log(): Logarithmus

(5)

^ hoch

# Logarithmus von x log(x)

# Logarithmus von x (Basis 10) log(x, base=10)

# 23 2^3

# Wurzel 2 2^(1/2)

# oder sqrt(2)

# Die Summe aller Elemente sum(x)

5

(6)

2. Matrizen

Zugriff auf Elemente einer Matrix: [i,j]

Vor dem Komma bezieht sich auf Reihen.

Nach dem Komma bezieht sich auf Spalten.

(Sonst sind es dieselben Befehle wie beim Vektor, zB):

# Reihen 1-3, Spalte 2 bridge[1:3,2]

# Reihe 1, Spalten 1 und 3 bridge[1,c(1,3)]

Usw.

# Reihen 1-2 (aller Spalten) bridge[1:2,]

# Spalten 1 und 3 (aller Reihen) bridge[,c(1,3)]

Funktionen

nrow(): Reihenanzahl ncol(): Spaltenanzahl

dim(): Dimensionen

Die Anwendung von numerischen Funktionen ist wie bei Vektoren

# 20 von der Matrix bridge abziehen bridge – 20

# bridge mit sich selbst multiplizieren bridge * bridge

# entspricht:

bridge^2

# Der Durschnitt aller Elemente von bridge mean(bridge)

Die apply() Funktion wird verwendet, um Funktionen wie mean(), median(), sd(), sum(), getrennt auf Reihen oder Spalten einer Matrix anzuwenden

# Summe jeder Reihe

apply(bridge, 1, sum)

# Standardabweichung jeder Spalte apply(bridge, 2, sd)

(7)

3. Segmentlisten

Entstehen durch emu.query() – also eine Datenbankabfrage.

bestehen aus 4 Spalten (die Etikettierung, Startzeit, Endzeit, Äußerung)

können wie eine Matrix behandelt werden

vok = emu.query("seminar04", "*", "Phonetic = i: | e:]")

# die ersten 3 Vokale vok[1:3,]

# der letzte Vokal vok[nrow(vok),]

# Usw. Also wie bei einer Matrix Einige Funktionen

# Zusammenfassung der Segmentliste summary(vok)

# die Etikettierungen label(vok)

# die Äußerungen utt(vok)

# die Dauern mudur(vok)

# und nrow(), ncol(), dim() wie bei einer Matrix

7

(8)

4. Trackdateien

Enthalten Signalwerte vom Anfang bis zum Ende des jeweiligen Segmentes

Entstehen durch emu.track(), die auf eine Segmente angewandt wird

Können zum großen Teil wie eine Matrix behandelt werden

dcut() kann darauf angewendet werden, um Signale zu einem gewissen Zeitpunkt zu bekommen

grund = emu.track(vok[1:5,], "F0")

Vor dem Komma bezieht sich auf Segmente (Reihen).

Nach dem Komma bezieht sich auf Signale (Spalten)

# F0-Werte vom Anfang bis zum Ende des 3en Segmentes grund[3,]

# Eine Abbildung davon

plot(grund[3,], type="l")

# Reihen/Spalten Anzahl (die Antwort ist 5 1 weil 5 Segmente und ein Track (F0) dim(grund)

# F1-F4 der ersten 5 Segmente

form = emu.track(vok[1:5,], "fm")

# F1-F4 vom 3en Segment und eine Abbildung davon plot(form[3,], type="l")

# F2 und F4 der Segmente 1 und 5 form[c(1,5), c(2, 4)]

# usw.

# Anwendung von dcut()

# F0 vom dritten Segment zum Segment-Onset dcut(grund[3,], 0, prop=T)

# F2-Werte aller Segmente

dcut(form[,2], 1, prop=T)

# F1 und F3 zum zeitlichen Mittelpunkt, aller Segmente außer dem zweiten dcut(form[-2,c(1,3)], 0.5, prop=T)

Funktionen

emu.track(): um die Trackdatei zu bekommen summary(): wie bei einer Segmentliste plot(): um eine Trackdatei abzubilden dcut(): um eine Trackdatei zu schneiden nrow(), ncol(), dim() wie bei einer Matrix

(9)

5. Logische Vektoren

Mit logischen Vektoren werden bei Vektoren Fragen gestellt, auf die man die Antwort bekommt: T (ja) oder F (nein).

Sie entstehen durch Vergleichunsoperatoren: ==, <=, <, !=, >, >=,

%in%

Sie sind nützlich, um auf Elemente in einem Objekt (Vektor, Matrix, Segmentliste, Trackdatei...) zuzugreifen.

(a) Wie stellt man die Frage?

# Ein Vektor von 8 Diphthong-Labels vec = dip.l[1:8]

# Welche Elemente von vec sind "aI"?

vec == "aI"

# Welche Elemente von vec sind "aU" oder "OY"?

vec %in% c("aU", "OY")

# Welche Elemente von vec sind nicht "aI"?

vec != "aI"

# Welche Elemente der ersten Spalte von bridge sind größer als 20?

bridge[,1] > 20

(b) Zugriff auf Elemente: Vektoren

# 8 Diphthong-Labels in einem Vektor vec = dip.l[1:8]

# die entsprechenden Dauern dur = mudur(dip[1:8,])

# Die Dauern von "aI"

dur[vec=="aI"]

# Die Labels mit einer Dauer von mehr als 120 ms vec[dur > 120]

# Die Labels mit einer Dauer zwischen 120 ms und 160 ms vec[dur > 120 & dur < 160]

(c) Zugriff auf Elemente: Matrizen, Segmentlisten, Trackdateien

bridge is eine vorhandene Matrix. Nehmen wir an, die drei Spalten entsprechen die Tage der Woche

tage = c("M", "Di", "Mitt")

# Reihen 1-5 von Mittwoch

bridge[1:5,tage=="Mitt"]

# Die letzte Reihe von Montag und Mittwoch

bridge[nrow(bridge), tage %in% c("M", "Mitt")]

Der Zugriff auf Elemente mit logischen Vektoren in einer Trackdatei funktioniert auf genau diesselbe Weise, zB:

9

(10)

# Segmentliste

vok = emu.query("seminar04", "*", "Phonetic = i: | e:]")

# Label-Vektor

l.vok = label(vok)

# Trackdatei der Formanten F1-F4 f = emu.track(vok, "fm")

# Formanten zum zeitlichen Mittelpunkt f5 = dcut(f, .5, prop=T)

# Welche Etikettierungen sind "e:"?

# temp = l.vok=="e:"

# Segmentliste der "e:" Vokale vok[temp,]

# Trackdatei der "e:" Vokale f[temp,]

# Wie oben, aber nur F1 und F2 f[temp,1:2]

# F1 und F3 der "e:" Vokale zum zeitlichen Mittelpunkt f5[temp,c(1,3)]

Funktionen für logische Vektoren sum(): wieviele Ts?

any(): gibt es mindestens einen T?

(11)

6. Zusammenfassung der Funktionen in diesem Dokument

siehe any() 5. Log. Vektoren apply() 2. Matrix

c() 1. Vektoren

dim() 2. Matrix dcut() 4.Trackdateien emu.query() 3. Segmentlisten emu.track() 4. Trackdateien label() 3. Segmentlisten length() 1. Vektoren log() 1. Vektoren mean() 1. Vektoren median() 1. Vektoren mudur() 3. Segmentlisten ncol() 2. Matrix

nrow() 2. Matrix rev() 1. Vektoren

sd() 1. Vektoren

sqrt() 1. Vektoren

sum() 1. Vektoren, 5. Logische Vektoren utt() 3. Vektoren

11

Referenzen

ÄHNLICHE DOKUMENTE

Sucht man jedoch einen Normalvektor zu zwei (nicht parallelen)

Sind zwei Vektoren im dreidimensionalen Raum immer

7.) Erläutern Sie die Begriffe „Lösungs-Diffusions-Membran“ und „Porenmembran“ und nennen je zwei Beispiele sowie Stoffe, die damit eliminiert werden. 8.) Warum ist

Copyright: www.grundschule-arbeitsblaetter.de Online-Quiz für Grundschüler: www.lern-quiz.de9. Bildquelle: www.pixabay.com

Sind die Patienten nicht bekleidet, wird Radon somit auch gleichzeitig über die Haut aufgenommen?. In Badeorten mit radonhaltigen Quellen können die aufsteigenden Gase auch

Klären Sie gemeinsam mit Ihrem Mitarbeiter, welcher Nutzen für wen entsteht, wenn er die Aufgabe erledigt, er das Problem löst..!. Wen macht es glücklich, wenn Sie die Aufgabe

Zu sagen: „Das alles ist richtig und gehört dir“ hilft Ihrem Kind, sich von Kopf bis Fuß sicher im eigenen Körper zu fühlen und ist ein erster Schritt in Richtung Prävention

Der Startpunkt sei dabei der