SDQ: Generating scores in SPSS

The scoring algorithm is based on the 25 variables plus impact items for each questionnaire. The algorithm expects to find these variables with specific names: the first letter of each variable name is 'p' for the parent SDQ, 's' for the self-report SDQ and 't' for the teacher SDQ. After this first letter, the variable names are as follows:

consid =Item 1 : considerate
restles =Item 2 : restless
somatic =Item 3 : somatic symptoms
shares =Item 4 : shares readily
tantrum =Item 5 : tempers
loner =Item 6 : solitary
obeys =Item 7 : obedient
worries =Item 8 : worries
caring =Item 9 : helpful if someone hurt
fidgety =Item 10 : fidgety
friend =Item 11 : has good friend
fights =Item 12 : fights or bullies
unhappy =Item 13 : unhappy
popular =Item 14 : generally liked
distrac =Item 15 : easily distracted
clingy =Item 16 : nervous in new situations
kind =Item 17 : kind to younger children
lies =Item 18 : lies or cheats [for the SDQ for 2-4 year olds, replace 'lies' with 'argues']
bullied =Item 19 : picked on or bullied
helpout =Item 20 : often volunteers
reflect =Item 21 : thinks before acting
steals =Item 22 : steals [for the SDQ for 2-4 year olds, replace 'steals' with 'spite']
oldbest =Item 23 : better with adults than with children
afraid =Item 24 : many fears
attends =Item 25 : good attention
ebddiff =Impact question: oveall difficulties in at least one area
distres =Impact question: upset or distressed
imphome =Impact question: interferes with home life
impfrie =Impact question: interferes with friendships
impclas =Impact question: interferes with learning
impleis =Impact question: interferes with leisure

For each of these items, if the first response category (not true, no, not at all) has been selected, this is coded as zero, the next response category (somewhat true, yes-minor, just a little) is coded as one and so on.

For each informant, the algorithm generates six scores. The first letter of each derived variable is 'p' for parent-based scores, 's' for self-report-based scores and 't' for teacher-based scores. After this first letter, the names of the scores are as follows:

emotion =emotional symptoms
conduct =conduct problems
hyper =hyperactivity/inattention
peer =peer problems
prosoc =prosocial
ebdtot =total difficulties
impact =impact

*** Recoding variables and then scoring the parent SDQ scores

SET FORMAT=F8.0.
RECODE pobeys (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO qobeys .
EXECUTE .
RECODE pfriend (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO qfriend .
EXECUTE .
RECODE ppopular (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO qpopular .
EXECUTE .
RECODE preflect (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO qreflect .
EXECUTE .
RECODE pattends (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO qattends .
EXECUTE .
RECODE pdistres (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO qdistres .
EXECUTE .
RECODE pimphome (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO qimphome .
EXECUTE .
RECODE pimpfrie (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO qimpfrie .
EXECUTE .
RECODE pimpclas (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO qimpclas .
EXECUTE .
RECODE pimpleis (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO qimpleis .
EXECUTE .

COMPUTE pemotion = RND(MEAN.3(psomatic,pworries,punhappy,pclingy,pafraid) * 5) .
EXECUTE .
COMPUTE pconduct = RND(MEAN.3(ptantrum,qobeys,pfights,plies,psteals) * 5) .
EXECUTE .
COMPUTE phyper = RND(MEAN.3(prestles,pfidgety,pdistrac,qreflect,qattends) * 5) .
EXECUTE .
COMPUTE ppeer = RND(MEAN.3(ploner,qfriend,qpopular,pbullied,poldbest) * 5) .
EXECUTE .
COMPUTE pprosoc = RND(MEAN.3(pconsid,pshares,pcaring,pkind,phelpout) * 5) .
EXECUTE .
COMPUTE pebdtot = SUM.4(pemotion,pconduct,phyper,ppeer) .
EXECUTE .
COMPUTE pimpact = SUM.1(qdistres,qimphome,qimpfrie,qimpclas,qimpleis) .
EXECUTE .
IF (pebddiff=0) pimpact=0 .
EXECUTE .
DELETE VARIABLES qobeys qreflect qattends qfriend qpopular qdistres qimphome qimpfrie qimpclas qimpleis .

*** Recoding variables and then scoring the self-report SDQ scores

SET FORMAT=F8.0.
RECODE sobeys (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO robeys .
EXECUTE .
RECODE sfriend (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO rfriend .
EXECUTE .
RECODE spopular (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO rpopular .
EXECUTE .
RECODE sreflect (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO rreflect .
EXECUTE .
RECODE sattends (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO rattends .
EXECUTE .
RECODE sdistres (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO rdistres .
EXECUTE .
RECODE simphome (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO rimphome .
EXECUTE .
RECODE simpfrie (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO rimpfrie .
EXECUTE .
RECODE simpclas (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO rimpclas .
EXECUTE .
RECODE simpleis (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO rimpleis .
EXECUTE .

COMPUTE semotion = RND(MEAN.3(ssomatic,sworries,sunhappy,sclingy,safraid) * 5) .
EXECUTE .
COMPUTE sconduct = RND(MEAN.3(stantrum,robeys,sfights,slies,ssteals) * 5) .
EXECUTE .
COMPUTE shyper = RND(MEAN.3(srestles,sfidgety,sdistrac,rreflect,rattends) * 5) .
EXECUTE .
COMPUTE speer = RND(MEAN.3(sloner,rfriend,rpopular,sbullied,soldbest) * 5) .
EXECUTE .
COMPUTE sprosoc = RND(MEAN.3(sconsid,sshares,scaring,skind,shelpout) * 5) .
EXECUTE .
COMPUTE sebdtot = SUM.4(semotion,sconduct,shyper,speer) .
EXECUTE .
COMPUTE simpact = SUM.1(rdistres,rimphome,rimpfrie,rimpclas,rimpleis) .
EXECUTE .
IF (sebddiff=0) simpact=0 .
EXECUTE .
DELETE VARIABLES robeys rreflect rattends rfriend rpopular rdistres rimphome rimpfrie rimpclas rimpleis .

*** Recoding variables and then scoring the teacher SDQ scores

SET FORMAT=F8.0.
RECODE tobeys (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO uobeys .
EXECUTE .
RECODE tfriend (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO ufriend .
EXECUTE .
RECODE tpopular (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO upopular .
EXECUTE .
RECODE treflect (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO ureflect .
EXECUTE .
RECODE tattends (0=2) (1=1) (2=0) (ELSE=SYSMIS) INTO uattends .
EXECUTE .
RECODE tdistres (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO udistres .
EXECUTE .
RECODE timpfrie (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO uimpfrie .
EXECUTE .
RECODE timpclas (0=0) (1=0) (2=1) (3=2) (ELSE=SYSMIS) INTO uimpclas .
EXECUTE .

COMPUTE temotion = RND(MEAN.3(tsomatic,tworries,tunhappy,tclingy,tafraid) * 5) .
EXECUTE .
COMPUTE tconduct = RND(MEAN.3(ttantrum,uobeys,tfights,tlies,tsteals) * 5) .
EXECUTE .
COMPUTE thyper = RND(MEAN.3(trestles,tfidgety,tdistrac,ureflect,uattends) * 5) .
EXECUTE .
COMPUTE tpeer = RND(MEAN.3(tloner,ufriend,upopular,tbullied,toldbest) * 5) .
EXECUTE .
COMPUTE tprosoc = RND(MEAN.3(tconsid,tshares,tcaring,tkind,thelpout) * 5) .
EXECUTE .
COMPUTE tebdtot = SUM.4(temotion,tconduct,thyper,tpeer) .
EXECUTE .
COMPUTE timpact = SUM.1(udistres,uimpfrie,uimpclas) .
EXECUTE .
IF (tebddiff=0) timpact=0 .
EXECUTE .
DELETE VARIABLES uobeys ureflect uattends ufriend upopular udistres uimpfrie uimpclas .


Last modified : 17/10/06