Logische Vektoren in R Jonathan Harrington.

Slides:



Advertisements
Ähnliche Präsentationen
Spektrale Analysen in EMU-R: eine Einführung
Advertisements

Einführung in die Informatik: Programmierung und Software-Entwicklung
Kumulierte Häufigkeit
Seminar Stochastik im WS 02/03
Die akustische Analyse von Sprachlauten.
Quellen-Filter Theorie der Sprachproduktion
Spektra von periodischen Signalen. Resonanz.
Formant-Analysen von Vokalen
Sortierverfahren Richard Göbel.
Bilder und Rasterdaten
Spektrogramm Das Spektrogramm stellt 3 Dimensionen dar:
Übung Akustische Phonetik
Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington.
Aufbau, Abfrage, Analyse von Sprachdatenbanken ErstellungAnalyse Abfrage Digitale Zeitsignale akustisch, artikulatorisch Etikettieren Verknüpfung mit Symbolen.
Formant-Analysen von Vokalen
Spektrale Analysen in EMU-R: eine Einführung
Die t-Verteilung Jonathan Harrington.
Grundlagen der R Programmiersprache
Formant-Analysen von Vokalen (2) Jonathan Harrington 1, 2 Struktur und Abbildung einer Trackdatei 3, 4. Anwendung von vorhandenen und eigenen Funktionen.
Wahrscheinlichkeit und die Normalverteilung
Berechnung von digitalen Signalen
Berechnung von digitalen Signalen Jonathan Harrington.
Spektrale Analysen in EMU-R: eine Einführung
Vokale und die Quantaltheorie
Abfragen aus einer Sprachdatenbank Jonathan Harrington.
Frequenz- und Zeitauflösung
Parametrisierung von Spektra
Abfragen aus einer Sprachdatenbank Jonathan Harrington.
Artikulationsstelle, F2-Locus, Locusgleichungen Jonathan Harrington.
Etikettierungsebenen Jonathan Harrington. Das Ziel Etikettierungen verschiedener Ebenen aufzubauen, und miteinander zu verlinken.
Aufbau, Abfrage, Analyse von Sprachdatenbanken ErstellungAnalyse Abfrage Digitale Zeitsignale akustisch, artikulatorisch Etikettieren Verknüpfung mit Symbolen.
Logistische Regression und die Analyse von Proportionen Jonathan Harrington.
Java- Syntax.
Dynamische Programmierung (2) Matrixkettenprodukt
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Information Retrieval Modelle: Vektor-Modell
Aussagenlogische Modelle
Statik 2 Vektorrechnung Seiltänzer.
Das ist die Fritz – Walter - Schule
3 % von % von 700 9% von % von 2000.
Histogramm/empirische Verteilung Verteilungen
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
Effektivwert einer Wechselspannung
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Die folgenden Gleichungen wurden über die Grundmenge R gelöst. HAYAL ÖZ.
Die t-Verteilung und die Prüfstatistik
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Jeoparty UnterrichtGefühleZahlenUhrzeit ???
Varianzanalyse mit Messwiederholungen
Die t-Verteilung Jonathan Harrington. Standard error of the mean (SE) ist die Standardabweichung von Mittelwerten Ich werfe 5 Würfel und berechne den.
Einige Kriterien für die Durchführung einer Varianzanalyse Jonathan Harrington.
Seileckverfahren Addieren von Kräften.
Parallel Matrix Multiplication
Informatik 1 Letzte Übung.
Von Emanuel und Paul. Viele von euch werden sich wahrscheinlich denken wozu lerne ich sowas überhaupt? Glaub mir, auch ich war anfangs der selben Meinung.
Befehle in SQL Erläuterungen.
Verbindung der 4 Grundrechnungsarten
Copyright Oracle Corporation, All rights reserved. 6 Unteranfragen (Subqueries)
3 4 = 3 : 4 = 0, = 0,75 denn: 3 : 4 = 0,75 Die Division geht auf. Es entsteht ein endlicher Dezimalbruch = 4,12 denn:
Analyse von Spektra 2 Jonathan Harrington 1. Wiederholung: Spektra in R einlesen 2. Einige grundlegende Funktionen 3. Zugriff auf Spektralwerte 4. Spektrale-Abbildungen.
Driften Spiel des Lebens. Anzahl der Ziehung en Absolute Häufigk eit blau Absolute Häufigk eit rot Relative Häufigk eit blau Relative Häufigk eit rot.
Mathe-Quiz Themen der 1. Klasse.
Bestandteile von Formeln
Informatik Datenstruktur Graph 3.3 Durchlaufen von Graphen
Plosive [a d a] [a t a] [a th a]
Structured Query Language
Übung 2 - MdMT Methoden der Medizintechnik Übung zur Vorlesung Folge 2 – Basics Vom ersten Befehl zum Plot.
Vorlesung #5 SQL (Teil 2).
Anführungszeichen?! echo 'Apfel$atf'; // ergibt: Apfel$aft
Grundlagen der R Programmiersprache Modul G WS 07/08.
 Präsentation transkript:

Logische Vektoren in R Jonathan Harrington

Logische Vektoren Segmentliste werden für Auswahl benötigt Die Dauer aller "E" Vokale Die Segmente, für die F1 über 700 Hz liegt Die Etikettierungen der Segmente mit einer Dauer zwischen 100 und 200 ms. Segmentliste vowlax Label-Vektor vowlax.l Trackdatei vowlax.fdat (Formant-Werte zum Segment-Onset) on = dcut(vowlax.fdat, 0, prop=T)

Logischer Vektor = Ein Vektor aus TRUE und FALSE Elementen temp = c(T, F, T) temp TRUE FALSE TRUE Logische Vektoren folgen einer Boolean-Logik | bedeutet "oder" T | T T F | F F T | F & bedeutet "und" T & T T F & F F T & F Das Ergebnis von TRUE und TRUE ist TRUE

Klammern Material innerhalb ( ) wird zuerst bearbeitet (T & F) | T TRUE Lass die Studenten die Antwort von ( (T | F ) & (T & T) | F) bevor Du sie per Mausklick erscheinen lässt ( (T | F ) & (T & T) | F) TRUE

Logische Vektoren, sum() und any() Wieviele T? Wieviele F? sum() vec = c(T, T, F, T, F) sum(vec) 3 sum(!vec) 2 Gibt es mindestens einen T? Oder mindestens einen F? any() vec2 = c(F, F, F, F) any(vec2) FALSE any(!vec2) TRUE Lass Dir die Antwort von sum(any(!vec)) geben, bevor Du sie per Mausklick erscheinen lässt any(vec) TRUE any(!vec) sum(any(!vec2)) 1

Ein logischer Vektor entseht durch die Anwendung von einem Vergleichungs-Operator x == y gleicht x y? != gleicht nicht x < y ist x weniger als y? > größer als <= weniger oder gleicht x %in% y ist y in x enthalten? x = c(10, 20, 30) y = 20 x == y FALSE TRUE FALSE x == 20 Erster Fall: y besteht aus einem Element

Vergleichungs-Operator Zweiter Fall. x und y sind zueinander parallel (und bestehen daher aus der selben Anzahl von Elementen) x = c(10, 20, 30) y = c(9, 50, 30) x == y FALSE FALSE TRUE

Vergleichungs-Operator %in% labs = c("I", "E", "O", "O", "O","I", "E") labs %in% "E" (kommt "E" in labs vor?) FALSE TRUE FALSE FALSE FALSE FALSE TRUE dasselbe labs == "E" labs %in% c("I", "E") (kommen "E" oder "I" in labs vor?) TRUE TRUE FALSE FALSE FALSE TRUE TRUE dasselbe labs == "E" | labs == "I"

Zugriff auf Elemente durch [logische Vektoren] x = c(23, 5, 45, -10, 11)   lvec = x > 20 TRUE FALSE TRUE FALSE FALSE > x[lvec] bedeutet: die Elemente in x, für die lvec TRUE ist 23 45 x[!lvec] 5 -10 11

Die Dauer (Min.), die sie brauchen, um in die Arbeit zu kommen   Einige Bekannte freunde = c("Paul", "Karin", "Elke", "Georg", "Peter") Die Dauer (Min.), die sie brauchen, um in die Arbeit zu kommen zeit = c(50, 11, 35, 41, 12) Welche Dauern sind größer als 40? temp = zeit > 40 temp TRUE FALSE FALSE TRUE FALSE freunde[temp] Was ist (a) die Bedeutung (in Wörtern) und (b) das Ergebnis von: Lass Dir von den Studenten die Antworten auf (a) und (b) geben, bevor Du sie per Mausklick erscheinen lässt. (Diese ist eine komplizierte Frage, und die wenigsten werden die Anwort(en) bekommen. (a) Bedeutung: die Freunde, die länger als 40 Minuten brauchen, um in die Arbeit zu kommen. (b) "Paul" "Georg"

freunde = c("Paul", "Karin", "Elke", "Georg", "Peter") zeit = c(50, 11, 35, 41, 12) Schreiben Sie R-Befehle für: Welche Freunde brauchen 41 Minuten, um in die Arbeit zu kommen? temp = zeit == 41 freunde[temp] "Georg" oder freunde[zeit == 41]

Schreiben Sie R-Befehle für: Welcher Freund braucht am längsten? freunde = c("Paul", "Karin", "Elke", "Georg", "Peter") zeit = c(50, 11, 35, 41, 12) Schreiben Sie R-Befehle für: Welcher Freund braucht am längsten? Hier muss auch die max() Funktion verwendet werden: y = c(10, 20, 30) max(y) 30 Für Folien 21-24, lass Dir von den Studenten die Antworten zuerst geben, bevor Du sie per Mausklick erscheinen lässt temp = zeit == max(zeit) freunde[temp] "Paul" Oder freunde[zeit == max(zeit)]

R-Befehle für: welcher Freund braucht zwischen 25 und 45 Minuten? freunde = c("Paul", "Karin", "Elke", "Georg", "Peter") zeit = c(50, 11, 35, 41, 12) R-Befehle für: welcher Freund braucht zwischen 25 und 45 Minuten? ·        (die Freunde, die mehr als 25 Minuten brauchen) & ·        (die Freunde, die weniger als 45 Minuten brauchen) temp = (zeit > 25) & (zeit < 45) freunde[temp] "Elke" "Georg"

R-Befehle für: Wieviele Freunde brauchen weniger als 40 Minuten? sum() freunde = c("Paul", "Karin", "Elke", "Georg", "Peter") zeit = c(50, 11, 35, 41, 12) R-Befehle für: Wieviele Freunde brauchen weniger als 40 Minuten? sum() temp = zeit < 40 sum(temp) 3 Oder sum(zeit < 40)

Gibt es Freunde, die mehr als 45 Minuten brauchen? any() freunde = c("Paul", "Karin", "Elke", "Georg", "Peter") zeit = c(50, 11, 35, 41, 12) Gibt es Freunde, die mehr als 45 Minuten brauchen? any() temp = zeit > 45 any(temp) TRUE   oder in einer Zeile: any(zeit > 45)

Logische Vektoren und Matrizen (Formant-Werte zum zeitlichen Mittelpunkt) Segmentliste Label-Vektor Trackdatei vowlax vowlax.l vowlax.fdat on = dcut(vowlax.fdat, 0, prop=T) Ein Vektor der F1-Werte zum Formant-Onset für "a" erzeugen Logischer Vektor um "a" zu identifizieren temp = vowlax.l == "a" Die F1-Werte zum Formant-Onset für "a" on[ , ] temp 1

F1 und F2 von "a" und "E" (zum Formant-Onset) (Formant-Werte zum zeitlichen Mittelpunkt) Segmentliste Label-Vektor Trackdatei vowlax vowlax.l vowlax.fdat on = dcut(vowlax.fdat, 0, prop=T) F1 und F2 von "a" und "E" (zum Formant-Onset) Logischer Vektor um "a" und "E" zu identifizieren vowlax.l %in% c("a", "E") temp = Die F1- und F2-Werte zum Formant-Onset für "a" und "E" on[ , ] temp 1:2

Die Etikettierungen davon (Formant-Werte zum zeitlichen Mittelpunkt) Segmentliste Label-Vektor Trackdatei vowlax vowlax.l vowlax.fdat on = dcut(vowlax.fdat, 0, prop=T) Die Vokal-Etikettierungen, für die F1 (zum Onset) höher ist als 750 Hz. Logischer Vektor um F1-Werte zu identifizieren, die höher als 750 Hz sind. on[,1] > 750 temp = Die Etikettierungen davon vowlax.l[temp] "a" "a" "a" "a" "a" "a" "a" "a" "E" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a"

Die entsprechenden Segmente aus der Segmentliste (Formant-Werte zum zeitlichen Mittelpunkt) Segmentliste Label-Vektor Trackdatei vowlax vowlax.l vowlax.fdat on = dcut(vowlax.fdat, 0, prop=T) Die Segmente (aus der Segmentliste) für die F2 – F1 unter 400 Hz liegt. Logischer Vektor um zu identifizieren, fuer welche Segmente (Reihen der Matrix on) F2 – F1 (zum Formant-Onset) unter 400 Hz liegt. temp = on[,2] - on[,1] < 400 Die entsprechenden Segmente aus der Segmentliste vowlax[temp,] segment list from database: kielread query was: Kanonic=a | E | I | O labels start end utts 194 I 911.563 964.625 K67MR096 209 I 1326.380 1384.500 K68MR001 ...

F3 Mittelwert für diese Vokale (Formant-Werte zum zeitlichen Mittelpunkt) Segmentliste Label-Vektor Trackdatei vowlax vowlax.l vowlax.fdat on = dcut(vowlax.fdat, 0, prop=T) Der F3-Mittelwert von "E" Vokalen, in denen F1 (zum Formant-Onset) über 700 Hz liegt. Logischer Vektor um "E" Vokale & F1-Werte über 700 Hz zu identifizieren vowlax.l == "E" on[,1] > 700 & temp = F3 Mittelwert für diese Vokale 3027 mean(on[temp,3])