SPSS Syntax Commands for Analyzing F.Ex Data

* Set up your data file such that coder A's F.Ex codes are arranged in columns 1 through 3,
* one column for each F.Ex digit (e.g., 3 | 1 | 1).
* This also means that each F.Ex code occupies one row (no matter whether some behaviors had multiple explanations).
* Coder B's F.Ex codes are similarly arranged and occupy columns 4 through 6.

** Transform first F.Ex code into codes for explanation modes.

RECODE A1 B1 (0 = 0)(1 thru 6 = 1) into A_code B_code.
RECODE A1 B1 (0 = sysmis)(1 = 1)(2 = 2)(3,4 = 3) (6 = 6) into A_mode B_mode .
RECODE A1 B1 (2 = 2)(3,4 = 3)(0, 1, 6 = sysmis) into A_mode2 B_mode2.

VALUE LABELS A_mode B_mode A_mode2 B_mode2 1 'cause' 2 'CHR' 3 'reason' 6 'enabfac'.

Title 'Reliab For Codeability'.
CROSSTAB A_code by B_code
/cells = count tot
/sta = kappa gamma.

Title 'Reliab For all EXPLANATION MODES'.
CROSSTAB A_mode by B_mode
/cells = count tot
/sta = kappa gamma.

Title 'Reliab For CHR vs. reason'.
CROSSTAB A_mode2 by B_mode2
/cells = count tot
/sta = kappa gamma.

** Transform third F.Ex code of reason explanations into reason type [1, 2, 3].

RECODE A3 B3 (0 =sysmis)(else = copy) into A_reatyp B_reatyp.

VALUE LABELS A_reatyp B_reatyp 1 'des' 2 'bel' 3 'val'.

Title 'Reliab For REASON TYPE'.
TEMP.
SEL IF (A_mode = 3 and B_mode = 3).
CROSSTAB A_reatyp by B_reatyp
/cells = count tot
/sta = kappa gamma.

** Analyze first F.Ex code of reason explanations as marked vs. unmarked reasons.

RECODE A1 B1 (3 = 1) (4 = 0) (else = sysmis) into A_mark B_mark.

VALUE LABELS A_mark B_mark 1 'marked' 0 'unmarked'

Title 'Reliab ForMENTAL STATE MARKERS'.
TEMP.
SEL IF (A_mode = 3 and B_mode = 3).
CROSSTAB A_mark by B_mark
/cells = count tot
/sta = kappa gamma.

** Transform second F.Ex code into either person-situation-interaction (PS3) or just
** person/interaction vs. situation (PS2).

RECODE A2 B2 (0 = sysmis) (1=1)(2,4,6 = 2)(3,5,7 = 3) into A_PS3 B_PS3.
RECODE A2 B2 (0 = sysmis) (1,3,5,7 = 1) (2,4,6 = 2) into A_PS2 B_PS2.

VALUE LABELS A_PS3 B_PS3 1 'person' 2 'situation' 3 'interaction'
/A_PS2 B_PS2 1 'pers_ia' 2 = sit'.

** For reason explanations, these PS codes correspond to reason contents.

TITLE 'Reliab For REASON CONTENT'.
TEMP.
SEL IF (A_mode = 3 and B_mode = 3).
CROSSTAB A_PS3 by B_PS3
/cells = count tot
/sta = kappa gamma.

** For non-reason explanations, the PS codes refer to cause types.

Title 'Reliab For CAUSE TYPE'.
TEMP.
SEL IF (A_mode LE 2 and B_mode LE 2).
CROSSTAB A_PS3 by B_PS3
/cells = count tot
/sta = kappa gamma.

** Treat third F.Ex code in non-reason explanations as specific person cause (1 = behavior, 2 = internal state, etc.).

DO IF (A_mode NE 3 and B_mode NE 3).
COMP A_specP = A3.
COMP B_specP = B3.
END IF.

VALUE LABELS A_specP B_specP 1 'beh' 2 'internal' 3 'attperc' 4 'pro_att' 5 'trait' 6 'pass' 7 'stable_pro' 8 'group'.

** Or turn these specific codes into one broad distinction -- between trait causes and nontrait causes.

RECODE A_specP B_specP (0,1,2,3,4,7,6,8 = 0)(5,9 = 1) into A_trait B_trait.
VALUE LABELS A_trait B_trait 0 'nontrait' 1 'trait'.

Title 'Reliab For PERSON CAUSE TYPE'.
TEMP.
SEL IF (A_mode LE 2 and B_mode LE 2).
CROSSTAB A_specP by B_specP / A_trait by B_trait
/cells = count tot
/sta = kappa gamma.