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