SDQ: Predictive Algorithm in STATA
The predictive algorithm is based on up to twelve input variables:
phyper | = | SDQ hyperactivity score from parent SDQ |
thyper | = | SDQ hyperactivity score from teacher SDQ |
shyper | = | SDQ hyperactivity score from self-report SDQ |
pconduct | = | SDQ conduct problems score from parent SDQ |
tconduct | = | SDQ conduct problems score from teacher SDQ |
sconduct | = | SDQ conduct problems score from self-report SDQ |
pemotion | = | SDQ emotional symptoms score from parent SDQ |
temotion | = | SDQ emotional symptoms score from teacher SDQ |
semotion | = | SDQ emotional symptoms score from self-report SDQ |
pimpact | = | SDQ impact score from parent SDQ |
timpact | = | SDQ impact score from teacher SDQ |
simpact | = | SDQ impact score from self-report SDQ |
The algorithm generates four output variables:
sdqed | = | prediction of an emotional disorder (0 = unlikely, 1 = possible, 2 = probable) |
sdqcd | = | prediction of a conduct disorder (0 = unlikely, 1 = possible, 2 = probable) |
sdqhk | = | prediction of a hyperactivity disorder (0 = unlikely, 1 = possible, 2 = probable) |
anydiag | = | prediction of any psychiatric disorder (0 = unlikely, 1 = possible, 2 = probable) |
*SDQ HYPERACTIVITY PREDICTION
gen phk=.
replace phk=0 if phyper>=0 & phyper!=. & pimpact>=0 & pimpact!=.
replace phk=1 if phyper>=6 & phyper!=. & pimpact>=1 & pimpact!=.
replace phk=2 if phyper>=7 & phyper!=. & pimpact>=2 & pimpact!=.
replace phk=2 if phyper>=9 & phyper!=. & pimpact>=1 & pimpact!=.
gen shk=.
replace shk=0 if shyper>=0 & shyper!=. & simpact>=0 & simpact!=.
replace shk=1 if shyper>=6 & shyper!=. & simpact>=1 & simpact!=.
replace shk=2 if shyper>=7 & shyper!=. & simpact>=2 & simpact!=.
gen thk=.
replace thk=0 if thyper>=0 & thyper!=. & timpact>=0 & timpact!=.
replace thk=1 if thyper>=6 & thyper!=. & timpact>=1 & timpact!=.
replace thk=2 if thyper>=7 & thyper!=. & timpact>=2 & timpact!=.
gen pshk=phk
replace pshk=shk if phk==.
gen sdqhk=.
replace sdqhk=0 if (phk>=0 & phk!=.) | (shk>=0 & shk!=.) | (thk>=0 & thk!=.)
replace sdqhk=1 if (pshk==2 & pshk!=.) | (thk==2 & thk!=.)
replace sdqhk=1 if pshk>=1 & pshk!=. & thk>=1 & thk!=.
replace sdqhk=1 if pshk>=1 & pshk!=. & thk==.
replace sdqhk=1 if pshk==. & thk>=1 & thk!=.
replace sdqhk=2 if pshk==2 & thk>=1 & thk!=.
*SDQ CONDUCT PREDICTION
gen sdqcd=.
replace sdqcd=0 if (pconduct>=0 & pconduct!=.)|(tconduct>=0 & tconduct!=.)|(sconduct>=0 & sconduct!=.)
replace sdqcd=1 if (pconduct>=4 & pconduct!=.)|(tconduct>=3 & tconduct!=.)|(sconduct>=5 & sconduct!=.)
replace sdqcd=2 if pconduct>=5 & pconduct!=. & pimpact>=2 & pimpact!=.
replace sdqcd=2 if tconduct>=4 & tconduct!=. & timpact>=2 & timpact!=.
replace sdqcd=2 if sconduct>=6 & sconduct!=. & simpact>=2 & simpact!=.
replace sdqcd=. if pimpact==. & timpact==. & simpact==.
*SDQ EMOTION PREDICTION
gen sdqed=.
replace sdqed=0 if (pemotion>=0 & pemotion!=.)|(temotion>=0 & temotion!=.)|(semotion>=0 & semotion!=.)
replace sdqed=1 if pemotion>=5 & pemotion!=. & pimpact>=1 & pimpact!=.
replace sdqed=1 if temotion>=5 & temotion!=. & timpact>=1 & timpact!=.
replace sdqed=1 if semotion>=6 & semotion!=. & simpact>=1 & simpact!=.
gen pem=0
replace pem=1 if pemotion>=6 & pemotion!=. & pimpact>=2 & pimpact!=.
gen tem=0
replace tem=1 if temotion>=6 & temotion!=. & timpact>=2 & timpact!=.
gen sem=0
replace sem=1 if semotion>=7 & semotion!=. & simpact>=2 & simpact!=.
gen allem=pem+tem+sem
replace sdqed=2 if allem>=1 & allem!=.
replace sdqed=1 if allem==1 & sdqcd==2
replace sdqed=1 if allem==1 & sdqhk==2
replace sdqed=. if pimpact==. & timpact==. & simpact==.
*SDQ ANY DISORDER PREDICTION
gen anydiag=.
replace anydiag=0 if (sdqed>=0 & sdqed!=.) | (sdqcd>=0 & sdqcd!=.) | (sdqhk>=0 & sdqhk!=.)
replace anydiag=1 if (sdqed>=1 & sdqed!=.) | (sdqcd>=1 & sdqcd!=.) | (sdqhk>=1 & sdqhk!=.)
replace anydiag=2 if sdqed==2 | sdqcd==2 | sdqhk==2
*DELETE MIDWAY VARIABLES
drop phk shk thk pshk pem tem sem allem
|