Hallo,
vielen Dank erstmal für die schnelle Antwort!
Es handelt sich dabei um eine instrumentelle Motivationsaufgabe, bei der Probanden per Tastendruck um drei mögliche Belohnungen (rew_cat [cig, liq, mon] ) mit jeweils vier möglichen Belohnungsstufen (rew_fac [0, 1, 10, 100] ) spielen können.
Insgesamt sind es 60 Durchgänge, das heißt jede Bedingung kommt 5 mal. Meine Aufgabe ist es nun das Antwortverhalten der Probanden (tar_resp) für jede einzelne Bedingung zu bestimmen und den Mittelwert zu bilden. (also Mittelwert von cig0, cig1, usw. ) Ich bekomme pro Probanden eine Results-Logfile als text-Datei ausgespuckt:
- logfile
- Text-Logfile.JPG (35.46 KiB) 2353-mal betrachtet
Nun hätte ich gerne pro Proband eine Spalte mit ID, den jeweiligen response Werten plus den jeweiligen Mittelwerten. Daher habe ich versucht die Variable tar_resp in vier Variablen aufzuteilen. Ich weiß nicht, ob das wirklich Sinn macht.
Momentan sieht meine Syntax so aus:
- Code: Alles auswählen
GET DATA /TYPE = TXT
/FILE = '.....
/DELCASE = LINE
/DELIMITERS = "\t"
/ARRANGEMENT = DELIMITED
/FIRSTCASE = 2
/IMPORTCASE = ALL
/VARIABLES =
trial F3.0
rew_cat A
rew_fac F4
cat_fac F3
cue_resp F2
fix1_resp F2
tar_resp F3
fix2_resp F2
fdb_resp F2
rew F4.3
cum_rew F4.3
rt F6
.
CACHE.
EXECUTE.
DATASET NAME DataSet2 WINDOW=FRONT.
*ersten 9 Zeilen löschen, da Übungsdurchgang
compute casenum = $casenum.
EXECUTE.
select if casenum > 10.
EXECUTE.
delete variable casenum.
EXECUTE.
*Kategorie 1 Variablen erstellen
IF (rew_cat = 'cig' & rew_fac = 0) cig0_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'cig' & rew_fac = 1) cig1_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'cig' & rew_fac = 10) cig10_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'cig' & rew_fac = 100) cig100_resp = tar_resp.
EXECUTE.
*Kategorie 2 Variablen erstellen
IF (rew_cat = 'mon' & rew_fac = 0) mon0_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'mon' & rew_fac = 1) mon1_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'mon' & rew_fac = 10) mon10_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'mon' & rew_fac = 100) mon100_resp = tar_resp.
EXECUTE.
*Kategorie 3 Variablen erstellen
IF (rew_cat = 'liq' & rew_fac = 0) liq0_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'liq' & rew_fac = 1) liq1_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'liq' & rew_fac = 10) liq10_resp = tar_resp.
EXECUTE.
IF (rew_cat = 'liq' & rew_fac = 100) liq100_resp = tar_resp.
EXECUTE.
*Variable ID erstellen
COMPUTE id = 56000021.
FORMATS id (F2.0).
*Nach Kategorie sortieren
SORT CASES BY cat_fac(A).
*Indexvariable erstellen
compute idx = $casenum.
FORMATS idx (F2.0).
EXECUTE.
*unwichtige Variablen löschen
DELETE VARIABLES trial TO rt.
*Umstrukturieren
CASESTOVARS
/ID = id
/AUTOFIX = NO
/INDEX = trial
/GROUPBY = VARIABLE .
Ich hoffe, es wurde etwas klarer. Ich bin für jeden Tipp dankbar. Es kann auch sehr gut sein, dass ich das ganze total falsch angegangen bin - ich bin jetzt nicht so fit in SPSS. Falls es eine bessere Option gibt, würde ich mich über Anregungen freuen.
Danke und liebe Grüße