Sie sind auf Seite 1von 3

05 Emp Wiss Arb

- trimmed means (getrimmte Mi elwerte) sind als Schätzer prak sch: Schätzer tri den zu
schätzenden Wert verhältnismäßig gut
- trimmed means Berechnung: pro VPn und pro Bedingung ! Daten Größe nach sor eren ! diese
Werte werden am oberen und unteren Ende eine gewisse Anzahl weggeworfen ! aus verbleibenden
mi leren Rest wird arithme sches Mi el berechnet
- z.B. 20% trimmen bei 46 Beobachtungen: g = 0,2 x 46 = 9,2 ! 9 größte und 9 kleinste
Beobachtungen werden weggelassen
- üblich sind 20% trimmen (bei wenig Beobachtungen pro Person und Bedingung – also <20 – 25%-
trimming besser

Weiter mit Simple reac on in PsychoPy…


- wir wollen eine zweite experimentelle Bedingung einfügen (z.B. helleres Licht und weniger helles
Licht)
- Excel-Datei erstellen: nur eine Spalte ! ganz oben Variable (z.B. „Helligkeit“), darunter die
condi ons eintragen (z.B. „White“ und darunter wiederum „DarkGrey“) ! abspeichern als .csv-Datei
(aber normale Excel-Datei wäre auch möglich und lesbar für PsychoPy)
- in der Rou ne der Schleife/Loop („trials“) können diese Bedingungen eingestellt werden: condi ons
! Specify File… ! abgespeicherte Excel-csv-Datei nden ! okay
- Lichtbedingung soll sich von Durchgang zu Durchgang ändern: im trial auf Reiz klicken (hier: „Licht“)
! Appeareance ! bei Fill Color sollte automa sch jetzt die in Excel eingetragene Variable
($Helligkeit) eingetragen sein ! set every repeat (damit in jedem trial-Schleifen-Durchlauf die
Ausprägungen der Variable Helligkeit nach einem bes mmten Prinzip benutzt werden) ! das gleiche
mit border color (im Zweifelsfall auch „$Helligkeit“ manuell eintragen)
- Prinzip der Bedingungen lässt sich in der Loop-Rou ne einstellen/verändern: sequen ell = der Reihe
nach (so wie sie in csv-Datei von oben nach unten geordnet sind) // random = die zur Verfügung
stehenden Bedingungen sollen innerhalb einer Schleife in eine zufällige Reihenfolge gebracht werden
(immer P=0.5 ob dunkles oder helles Licht präsen ert wird) // full random = über alle Durchgänge
hinweg sollen Bedingungen randomisiert werden (so kann man auch mehrmals zwischen den
Schleifen die gleichen Bedingungen erhalten) ! full random empfehlenswert

- Experiment durchführen, Daten auswerten:


- Taste.keys und Taste.rt interessant für uns; in erster Spalte steht die jeweilige Bedingung/condi on
(ob Helligkeit White oder DarkGrey war)
- Daten mit R auswerten: File ! Import Data Set ! Import Text Data ! zum jeweiligen Dokument
durchbrowsen (csv-Datei!) ! neuen Namen unten eingeben (z.B. „daten“) ! Code Preview schon
mal kopieren ! Import
- dann erscheint der Datensatz, in dem das gleiche drin steht wie in der Datentabelle der Ergebnisse
an sich (nur eine letzte Spalte x24 oder so ist neu hinzugekommen)
- Reak onszeiten checken, ob das plausibel aussieht
- Reak onszeiten in ms umwandeln ! neue Variable erscha en
- mi lere Reak onszeiten pro Lichtbedingung ermi eln: mehrere Varianten möglich (hier 3
vorgestellt)
tt
tt
ti

ti
ti

ti
ti

ti

ti
tt

tt




ti
ti
tt
fi
ti


ti
ff

ti




fft
ti
ti
ti
ti
- mean(daten$RT) ! gibt Gesamtmi elwert raus
- 1. Ergebnisse zerteilen in weißes Licht und graues Licht und diese Teilmengen mi eln:
daten.white <- subset(daten,Helligkeit--‚white‘) ! mean(daten.white$RT) ! daten.darkgrey <-
subset(daten,H:elligkeit -- ‚darkgrey) ! mean (daten.darkgrey$RT)
- 2. Geht auch ohne S chprobe in den Variablen zu zerlegen: mean(daten$RT[daten$Helligkeit --
‚white‘]) bzw. mean(daten$RT[daten$Helligkeit -- ‚white‘])
- 3. Empfehlenswerte Variante für Psychologie: Variable RT aus dem Datensatz „daten“
zusammenfassen, diese aggregieren hinsichtlich der Variable Helligkeit (also er soll für alle Kategorien
der Variable Helligkeit die jeweilige Sta s k, also hier mean, ausgeben):
aggregate(RT-Helligkeit,data=daten,mean)
- dri e Variante auch güns g, um später damit weiter zu arbeiten
- geht auch mit getrimmten Mi elwert: aggregate(RT-Helligkeit,data=daten,mean,trim=0.25)

- Experiment muss in PsychoPy noch vervollständigt werden: Instruk on, Demonstra onsdurchgänge
(warm-up-trials), Danksagung, Rückmeldung
- vor dem eigentlichen Experiment (das für die Messung interessant wäre) kommen die warm-up-
trials: gleiches Experiment, aber nur mit 2 Loops
- warm-up-trials ! trials ! Feedback ! kurze Pause ! das alles wird noch mal in einen Loop
gepackt (2 Blöcke)
- vor den Blöcken kommt eine kleine Instruk on
- davor kommen Demo-trials
- davor kommt eine Demo-Instruk on mit Demo-Durchgängen und Rückmeldung
- also: Instruk on Demodurchgänge ! Demodurchgänge jeweils mit Feedback (über jeweilige RT) !
Instruk on ! Blöcke ! Dankeschön

- Rückmeldung bei Demo erstellen:


- demotrials Au au: ITI ! Cue ! Vorperiode ! target ! feedback ! da drumherum ein Loop (z.B.
5x)
- feedback-Rou ne ist der springende Punkt: da muss ein code und ein textelement rein
- Textelement: Basic ! Name: z.B. feedbacktext ! Text: $msg ! set every repeat
- code: Begin Experiment: msg=‘‘ ! Begin Rou ne: msg=“RT=%.0f ms“%(Taste.rt*1000)
- % bedeutet: es geht um eine Formatangabe
- .0f bedeutet: oa ng-point-Zahl (Fließkommazahl) gerundet auf 0 Nachkommastellen

- Instruk on: Textkomponente (z.B. „Am Experiment ändert sich nichts, allerdings wird die benö gte
Reak onszeit nicht mehr nach jedem Durchgang eingeblendet. Start des Experimentes mit beliebiger
Taste“) + Tastatur-Reak on (wenn man „allowed keys“ einfach frei lässt, geht es mit beliebiger Taste
weiter)

- warm-up-trials: wir können auch immer die gleichen Rou nen benutzen

- block-feedback am Ende eines Blocks (besteht wieder aus Text und Codeelement)
- wir wollen die mi lere Reak onszeit aus dem letzten Block rückmelden
- Feedbacktext: $blockfeedbacktext ! set every repeat ! dura on z.B. 5s
- code: Begin Experiment: meanRT=0 ! Enter ! blockfeedbacktext=‘‘ ! Begin Rou ne:
meanRT=trials.data[‚Taste.rt‘],mean() ! Enter ! blockfeedbacktext=“Mi lere RT: %.0f ms“%
(meanRT*1000)

tt
ti
ti

ti
ti
fl
ti
fb

tt
ti

ti
ti
ti

ti
tt
ti

tt

ti
ti

ti


ti




ti
ti


ti


tt



tt


ti
ti




ti
- Pause: 1 code-Element, 2 Text-Elemente, 1 Tastatur-Reak on
- 1. Textelement: Text: z.B. „20 Sekunden Pause“ ! dura on ebenfalls 20s ! OK
- 2. Textelement: Text: „weiter mit Leertaste“ ! start ab 20s, dura on freilassen (sodass mind 20s
Pause gemacht werden müssen, und nach Bedarf noch länger)
- Tastatur-Reak on: start auch ab 20s, dura on o en lassen ! allowed keys ‚space‘
- code: brauchen Pause nicht nach dem letzten Block: Begin Rou ne: if bloecke.nRemaining == 0: !
Enter + Einrücken ! con nueRou ne=False
- also Befehl bedeutet: wenn von den Bloecken noch 0 übrig sind, dann soll die Rou ne an diesem
Punkt abgebrochen werden
- hier bloecke, weil „bloecke“ der Name des Block-Loops ist! Also jeweiligen Block-Loop-Namen
eintragen!

- Dankeschön: Text + ggf. Tastenreak on (oder alterna v: 5-10s einblenden und dann automa sch
beenden)

- das war das simple-Reac on-Experiment mit PsychoPy


- mit einer VP, nur deskrip ve Sta s k
- aber in Realität: mehr als eine VP, neben deskrip ver Sta s k auch Inferenzsta s k
- wie geht man mit diesen großen Datensätzen um?!

- z.B. bei Daten von 3 VP in einem Datensatz:


- Daten einlesen und anschauen:
daten<-read.csv(„C:Users/Sven/…/10-12_simpleReac on3_2020_May_12.csv“,header=T) x(daten)
- Demotrials, warmups und alles andere weglassen:
daten<-subset(daten,!
is.na(trials.thisN),select=c(Helligkeit,bloecke.thisN,trials.thisN,Taste.rt,par cipant))
- RT in ms umrechnen

ti
ti
ti
ti


ti
ti
ti
ti

ti


ff
ti

ti
ti

ti
ti
ti
ti


ti
ti
ti
ti

ti

ti


fi
ti