slide1
Download
Skip this Video
Download Presentation
Logische Vektoren in R

Loading in 2 Seconds...

play fullscreen
1 / 20

Logische Vektoren in R - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

Logische Vektoren in R. Jonathan Harrington. Logische Vektoren. werden für Auswahl benötigt. Die Dauer aller "E" Vokale. Die Segmente, für die F1 über 700 Hz liegt. (Formant-Werte zum Segment -Onset ). Die Etikettierungen der Segmente mit einer Dauer zwischen 100 und 200 ms.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Logische Vektoren in R' - benson


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Logische Vektoren in R

Jonathan Harrington

slide2

Logische Vektoren

werden für Auswahl benötigt

Die Dauer aller "E" Vokale

Die Segmente, für die F1 über 700 Hz liegt

(Formant-Werte zum Segment-Onset)

Die Etikettierungen der Segmente mit einer Dauer zwischen 100 und 200 ms.

on = dcut(vowlax.fdat, 0, prop=T)

Segmentliste

vowlax

Label-Vektor

vowlax.l

Trackdatei

vowlax.fdat

slide3

Logische Vektoren folgen einer Boolean-Logik

| bedeutet "oder"

& bedeutet "und"

Das Ergebnis von TRUE und TRUE ist TRUE

T | T

T

F | F

F

T | F

T

T & T

T

F & F

F

T & F

F

Logischer Vektor

= Ein Vektor aus TRUE und FALSE Elementen

temp = c(T, F, T)

temp

TRUE FALSE TRUE

slide4

Klammern

Material innerhalb ( ) wird zuerst bearbeitet

(T & F) | T

TRUE

( (T | F ) & (T & T) | F)

TRUE

slide5

vec2 = c(F, F, F, F)

any(vec2)

FALSE

any(!vec2)

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()

any(vec)

TRUE

any(!vec)

TRUE

sum(any(!vec2))

1

slide6

Ein logischer Vektor entseht durch die Anwendung von einem Vergleichungs-Operator

Erster Fall: y besteht aus einem Element

x = c(10, 20, 30)

y = 20

x == y

FALSE TRUE FALSE

x == 20

FALSE TRUE FALSE

x == ygleicht 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?

slide7

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

slide8

Vergleichungs-Operator

labs %in% "E"(kommt "E" in labs vor?)

FALSE TRUE FALSE FALSE FALSE FALSE TRUE

dasselbe

dasselbe

(kommen "E" oder "I" in labs vor?)

labs == "E"

labs == "E" | labs == "I"

labs %in% c("I", "E")

TRUE TRUE FALSE FALSE FALSE TRUE TRUE

%in%

labs = c("I", "E", "O", "O", "O","I", "E")

slide9

> x[lvec]bedeutet: die Elemente in x, für die lvec TRUE ist

23 45

Zugriff auf Elemente durch [logische Vektoren]

x = c(23, 5, 45, -10, 11)

lvec = x > 20

TRUE FALSE TRUE FALSE FALSE

x[!lvec]

5 -10 11

slide10

Was ist (a) die Bedeutung (in Wörtern) und (b) das Ergebnis von:

freunde[temp]

(a) Bedeutung: die Freunde, die länger als 40 Minuten brauchen, um in die Arbeit zu kommen.

(b)"Paul" "Georg"

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

slide11

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]

"Georg"

slide12

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

temp = zeit == max(zeit)

freunde[temp]

"Paul"

Oder

freunde[zeit == max(zeit)]

"Paul"

slide13

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"

slide14

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)

slide15

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)

TRUE

slide16

temp

1

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[ , ]

slide17

temp

1:2

(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[ , ]

slide18

(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"

slide19

(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

...

slide20

vowlax.l == "E"

on[,1] > 700

(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

&

temp =

F3 Mittelwert für diese Vokale

3027

mean(on[temp,3])