CSIG Scoring
Below are sample R syntax and SPSS syntax for calculating Circumplex Scales of Intergroup Goals (CSIG) scores.
R Syntax
## Compute raw CSIV octant scores ##
library(dplyr)
YourData <- YourData %>%
mutate(PA = (CSIG08 + CSIG16 + CSIG24 + CSIG32) / 4, # PA = Agentic
BC = (CSIG05 + CSIG13 + CSIG21 + CSIG29) / 4, # BC = Agentic & Uncommunal
DE = (CSIG02 + CSIG10 + CSIG18 + CSIG26) / 4, # DE = Uncommunal
FG = (CSIG07 + CSIG15 + CSIG23 + CSIG31) / 4, # FG = Unagentic & Uncommunal
HI = (CSIG04 + CSIG12 + CSIG20 + CSIG28) / 4, # HI = Unagentic
JK = (CSIG01 + CSIG09 + CSIG17 + CSIG25) / 4, # JK = Unagentic & Communal
LM = (CSIG06 + CSIG14 + CSIG22 + CSIG30) / 4, # LM = Communal
NO = (CSIG03 + CSIG11 + CSIG19 + CSIG27) / 4, # NO = Agentic & Communal
## Compute scores for the overall bipolar X (communal) and Y (agentic) vectors.
YourData <- YourData %>%
mutate(AGENTIC = 0.25 * (PA - HI + (0.707 * (BC + NO - FG - JK))),
COMMUNAL = 0.25 * (LM - DE + (0.707 * (NO + JK - FG - BC))))
### The above commands are all you need to do the basic scoring
### The code below offer examples of how to compute additional scores or indices
## Compute "Structural Summary" Parameters ##
YourData <- YourData %>%
mutate(
# Compute "vector length" or "amplitude" (AMP)
AMP = sqrt(AGENTIC^2 + COMMUNAL^2),
# Compute overall mean or "response elevation" (ELE)
ELE = (PA + BC + DE + FG + HI + JK + LM + NO)/8,
# Compute Sum of Squared Deviations (SStot)
SStot = ((PA - ELE)^2 + (BC - ELE)^2 + (DE - ELE)^2 + (FG - ELE)^2 +
(HI - ELE)^2 + (JK - ELE)^2 + (LM - ELE)^2 + (NO - ELE)^2),
# Compute Circumplex Goodness-of-Fit (R-squared)
R2 = (4 * (AMP^2)) / SStot
)
# Compute Angular Displacement or Circumplex Angle (ANG)
YourData <- YourData %>%
mutate(ANG = ifelse(AGENTIC > 0 & COMMUNAL > 0, 000 + atan(AGENTIC/COMMUNAL) * (180 / pi),
ifelse(AGENTIC > 0 & COMMUNAL < 0, 180 + atan(AGENTIC/COMMUNAL) * (180 / pi),
ifelse(AGENTIC < 0 & COMMUNAL > 0, 360 + atan(AGENTIC/COMMUNAL) * (180 / pi),
ifelse(AGENTIC < 0 & COMMUNAL < 0, 180 + atan(AGENTIC/COMMUNAL) * (180 / pi), NA)))))
# Compute ipsative octant scale scores
YourData <- YourData %>%
mutate(
iPA = PA - ELE,
iBC = BC - ELE,
iDE = DE - ELE,
iFG = FG - ELE,
iHI = HI - ELE,
iJK = JK - ELE,
iLM = LM - ELE,
iNO = NO - ELE
)
SPSS Syntax
* Compute octant scores.
* PA = Agentic, BC = Agentic & Uncommunal, DE = Uncommunal, * FG = Unagentic & Uncommunal,
* HI = Unagentic, JK = Unagentic & Communal, LM = Communal, NO = Agentic & Communal.
COMPUTE JK = (CSIG01 + CSIG09 + CSIG17 + CSIG25) / 4.
COMPUTE DE = (CSIG02 + CSIG10 + CSIG18 + CSIG26) / 4.
COMPUTE NO = (CSIG03 + CSIG11 + CSIG19 + CSIG27) / 4.
COMPUTE HI = (CSIG04 + CSIG12 + CSIG20 + CSIG28) / 4.
COMPUTE BC = (CSIG05 + CSIG13 + CSIG21 + CSIG29) / 4.
COMPUTE LM = (CSIG06 + CSIG14 + CSIG22 + CSIG30) / 4.
COMPUTE FG = (CSIG07 + CSIG15 + CSIG23 + CSIG31) / 4.
COMPUTE PA = (CSIG08 + CSIG16 + CSIG24 + CSIG32) / 4.
* Compute "Structural Summary" parameters.
* Compute overall agentic and communal vectors.
COMPUTE AGENTIC = 0.25 * (PA - HI + (.707 * (BC + NO - FG - JK))).
COMPUTE COMMUNAL = 0.25 * (LM - DE + (.707 * (NO + JK - FG - BC))).
* Compute "vector length" or "amplitude" (AMP).
COMPUTE AMP = SQRT((AGENTIC ** 2) + (COMMUNAL ** 2)).
* Compute overall mean or "response elevation" (ELE).
COMPUTE ELE = MEAN(PA, BC, DE, FG, HI, JK, LM, NO).
* Compute Sum of Squared Deviations.
COMPUTE SStot = ((PA - ELE) ** 2) + ((BC - ELE) ** 2) + ((DE - ELE) ** 2)
+ ((FG - ELE) ** 2) + ((HI - ELE) ** 2) + ((JK - ELE) ** 2)
+ ((LM - ELE) ** 2) + ((NO - ELE) ** 2).
* Compute Circumplex Goodness-of-Fit (R-squared).
COMPUTE R2 = (4 * (AMP ** 2) / SStot).
* NOTE: A simpler SPSS command to compute R2 is:
COMPUTE R2 = (4 * (AMP ** 2) / ((VARIANCE(PA, BC, DE, FG, HI, JK, LM, NO)) * 7)).
* Compute Angular Displacement or Circumplex Angle (ANG).
COMPUTE Slope = AGENTIC / COMMUNAL.
IF (AGENTIC > 0 AND COMMUNAL > 0) ANG = 000 + atan(Slope) * (180 / 3.14159).
IF (AGENTIC > 0 AND COMMUNAL < 0) ANG = 180 + atan(Slope) * (180 / 3.14159).
IF (AGENTIC < 0 AND COMMUNAL > 0) ANG = 360 + atan(Slope) * (180 / 3.14159).
IF (AGENTIC < 0 AND COMMUNAL < 0) ANG = 180 + atan(Slope) * (180 / 3.14159).
* Compute ipsative scores (i.e., scores centered around respondent’s mean score).
COMPUTE iPA = (PA - ELE).
COMPUTE iBC = (BC - ELE).
COMPUTE iDE = (DE - ELE).
COMPUTE iFG = (FG - ELE).
COMPUTE iHI = (HI - ELE).
COMPUTE iJK = (JK - ELE).
COMPUTE iLM = (LM - ELE).
COMPUTE iNO = (NO - ELE).