** If you have used previous versions (earlier than June 2006) of the syntax files (mainly CEECIS countries),
please go through the list below and make the necessary changes to your customized syntax files.
** SPSS Program modifications made 6/6/06-8/6/06 by Trevor Croft.
** Versions from 8/6/06 compared to version from 21/3/06.
02 - CM.01&CM.02.SPS
* 1) Values in value labels for region moved in one character to allow program to be used in an include file.
* 2) /caption in old TABLE syntax moved in two characters fromleft edge to allow program to be used in an include file.
* 3) / removed from in front of CAPTION in new CTABLE syntax as CAPtion is a sub paramter of the /TITLE parameter and should not have a leading slash.
*---------------------------------------------------------------------------.
03 - NU.01.SPS
** check for missing values changed to allow for 99.0 and 99.9 (or 999.0 and 999.9) insetad of just hte latter.
if (AN1 >= 99.0 or AN2 >= 999.0) misshw = 100.
*---------------------------------------------------------------------------.
04 - CH.02c.SPS
** variable name 'yf' corrected to 'yf_r'.
/observation = hepb1_r hepb2_r hepb3_r hib1_r hib2_r hib3_r yf_r card_r
** typing error corrected, changing 'iby' to 'by' in table title.
"Table CH.2c: Vaccinations by background characteristics (continued)"
*---------------------------------------------------------------------------.
04 - CH.13.SPS
** Variable name MN6B corrected to MN6BA, MN6BB, MN6BX, MN6BZ as below.
if (MN6BA = "A" and MN6D = 1) onetime = 100.
if (MN6BA = "A" and MN6D >= 2 and MN6D < 98) twotimes = 100.
if (MN6BA = "A" and (MN6D = 98 | MN6D = 99)) fansun = 100.
if (MN6BB = "B") chloroq = 100.
if (MN6BX = "X") other = 100.
if (MN6BZ = "Z") dk = 100.
*---------------------------------------------------------------------------.
04 - CH.14.SPS
** Variable name corrected removing space in the middle of name TN3L2.
if (TN3L1 = 1 or TN3L2 = 1) treated = 100.
*---------------------------------------------------------------------------.
05 - EN.08.SPS
** Assignment of variable 'formal' was not working properly. Changed to the following:
compute formal = 100.
if (HC15B = 1 or HC15CA = 'A' or HC15CB = 'B' or HC15D = 1) formal = 0.
*---------------------------------------------------------------------------.
05 - EN.09.SPS
** Variable name corrected: 'natural' -> 'fnatur'.
if ((fnatur = 100 and poor = 100) or narrow = 100 or fourhaz = 100)
** Variable name corrected: 'ndurable' -> 'ndurab'.
do if (ndurab = 100).
** Periods added at the end of variable labels.
variable label fnatural "Dwelling has natural floor material".
variable label spoor "Dwelling is in poor condition".
variable label snarrow "Dwelling is vulnerable to accidents".
** Several corrections to variable names in the TABLES command, and number of decimals changed to 0 in Number columns.
tables
/format = zero
/observation = fnatural spoor snarrow sfourhaz ndurable stotal percent shh11
/ftotal = tot1 "Total"
/table = helevel + wlthind5 + HC1B + tot1 by
fnatural + spoor + snarrow + sfourhaz + ndurable + stotal + percent + shh11
/statistics
mean(fnatural (f5.1) '')
mean(spoor (f5.1) '')
mean(snarrow (f5.1) '')
mean(sfourhaz (f5.1) '')
mean(ndurable (f5.1) '')
sum(stotal (f5.0) '')
mean(percent (f5.1) '')
sum(shh11 (f5.0) '')
*---------------------------------------------------------------------------.
05 - EN.10.SPS
** Variable name corrected: 'natural' -> 'fnatural'.
if ((fnatural = 100 and poor = 100) or narrow = 100 or fourhaz = 100)
** Assignment of variable 'formal' was not working properly. Changed to the following:
compute formal = 100.
if (HC15B = 1 or HC15CA = 'A' or HC15CB = 'B' or HC15D = 1) formal = 0.
** Variable name corrected: 'ndurable' -> 'ndurab'.
if (ndurab = 100 or lsecur = 100 or over3 = 100 or limprov = 100 or lsanit = 100) nhslum = 100.
** function for stotal changed from 'mean' to 'sum' in 4 places.
/stotal = sum(total)
** Decimals for percent column changed to 1 decimal in table.
mean(percent (f5.1) '')
*---------------------------------------------------------------------------.
06 - RH.04w.SPS
** Missing parenthesis added in assignment of 'anc' after MN2Y = 'Y'.
if (anc = 0 and (MN2Y = "Y")) anc = 8.
*---------------------------------------------------------------------------.
06 - RH.06.SPS
** Plus signs added in first column oof two compute statements to allow program to be called from an include file.
+ compute resp35up = lag(resp,7)+lag(resp,6)+lag(resp,5)+lag(resp,4)+lag(resp,3)+lag(resp,2)+lag(resp,1).
+ compute sis35up = lag(sisters,7)+lag(sisters,6)+lag(sisters,5)+lag(sisters,4)+lag(sisters,3)+lag(sisters,2)+lag(sisters,1).
*---------------------------------------------------------------------------.
09 - CP.04.SPS
** Substantial change to the program to simplify the calculations and to add in a missing values column (Change made Apr 25).
*---------------------------------------------------------------------------.
09 - CP.05.SPS
** Changed do if command to use totalm = 1 instead of 100 (Change made Apr 24).
do if (totalm = 1).
*---------------------------------------------------------------------------.
10 - HA.11.SPS
** The following line...
if (TOTHL8A >= 1) chroill = 100.
** Replaces the set of lines below.
if (HL8A = 1) chroill = 100.
sort cases by HH1 HH2 HL1 (A).
if (lag(HH1) = HH1 and lag(HH2) = HH2 and lag(chroill) = 100) chroill = 100.
sort cases by HH1 HH2 HL1 (D).
if (lag(HH1) = HH1 and lag(HH2) = HH2 and lag(chroill) = 100) chroill = 100.
** Note that for this syntax to work, the export application also needs to include MODTO and MODOV in the output to the HL file.
*---------------------------------------------------------------------------.
10 - HA.12.SPS
** The same changes as for HA.11.SPS above.
*---------------------------------------------------------------------------.
10 - HA.13.SPS
** The same changes as for HA.11.SPS above.
** Plus, setting medical to 100 instead of 1 in the recode statement.
recode OV10 (1 = 100) (else = 0) into medical.
** Plus, setting emot to 100 instead of 1 in the recode statement.
recode OV12 (1 = 100) (else = 0) into emot.
** Plus, setting educat to 100 instead of 1 in the recode statement.
recode OV18 (1 = 100) (else = 0) into educat.
** Plus, correcting the spelling of 'nosupp' in the table command.
mean(nosupp (f5.1) '')
*---------------------------------------------------------------------------.
10 - HA.14.SPS
** The same changes as for HA.11.SPS above.
** Plus, setting the means in the tables to use 2 decimals -- this is so that the ratios have two decimals (the percents should be reported with 1 decimal, but the ratios with 2 decimals).
mean(awa2 (f5.2) '')
mean(aha2 (f5.2) '')
mean(awh2 (f5.2) '')
*---------------------------------------------------------------------------.
10 - HA.15.SPS
** The same changes as for HA.11.SPS above.
** Plus, setting the means in the tables to use 2 decimals -- this is so that the ratios have two decimals (the percents should be reported with 1 decimal, but the ratios with 2 decimals).
mean(tsex15 (f5.2) '')
*---------------------------------------------------------------------------.
QFIVE SETUP.SPS
** Add in calculation of surviv near the top of the program.
compute surviv = ceb - deadkids.
** Change table to include 'surviv' and improve column headers.
meanceb[S][MEAN,'Mean number of children ever born',F5.3]+
meansurv[S][MEAN,'Mean number children surviving',F5.3]+
** Fix title to reflect changes above.
/TITLE TITLE="Table CM.1a: Children ever born, children surviving, proportion dead"
" Mean number of children ever born, children surviving and proportion dead by age of women, Country, Year".
*---------------------------------------------------------------------------.
QFIVE SETUP.SPS
** File handle corrected to include slash before MICS\SPSS.
FILE HANDLE lifetabledir /NAME='C:\MICS\SPSS\lifetables' .
*---------------------------------------------------------------------------.
*---------------------------------------------------------------------------.
** SPSS Program modifications made during the CEE/CIS workshop in Sarajevo.
** Versions from 21/3/06 compared to version from 4/3/06.
01 - HH.01.SPS
recode HH9 (1,2,3,6 = 1) (else = 0) into occupied.
** code 6 included.
*---------------------------------------------------------------------------.
02 - CM.01&CM.02.SPS
** Extensive modifications made during workshop
*---------------------------------------------------------------------------.
03 - NU.03w.SPS
** New program added to provide graph of breastfeeding status.
*---------------------------------------------------------------------------.
04 - CH.01 - 1829.SPS
04 - CH.01c - 1829.SPS
** New alternate programs added to allow calculation of immunization rates for age group 18-29 months, if measles given later than standard (9 months).
*---------------------------------------------------------------------------.
04 - CH.01.SPS
include file = "04 - chrecvac.sps".
** include file added into program.
else if (dpt1 = 1 and IM4AY < 9996).
** elseif statement simplified for DPT1.
else if (dpt2 = 1 and IM4BY < 9996).
** elseif statement simplified for DPT2.
*---------------------------------------------------------------------------.
04 - CH.01c.SPS
include file = "04 - chrecvac.sps".
** include file added into program.
** HIB calculations all moved into CHRECVAC.SPS
*---------------------------------------------------------------------------.
04 - CH.02.SPS
include file = "04 - chrecvac.sps".
** include file added into program.
recode hasvcard (1 = 100) (2 = 0) into card_r.
** code 2 recoded instead of code 0.
*---------------------------------------------------------------------------.
04 - CH.02c.SPS
include file = "04 - chrecvac.sps".
** include file added into program.
** HIB calculations all moved into CHRECVAC.SPS
recode hasvcard (1 = 100) (2 = 0) into card_r.
** code 2 recoded instead of code 0.
*---------------------------------------------------------------------------.
04 - CH.07a.SPS
"knowledge of types of symptoms for taking a child immediately to a "
** Spelling of word 'knowledge' corrected.
*---------------------------------------------------------------------------.
05 - EN.07.SPS
recode WS7 (11,12,13,21,22,31 = 100) (else = 0) into sanitary.
** Recoding for category 13 included, rather than category 12 twice.
*---------------------------------------------------------------------------.
06 - RH.06.SPS
** Labels below added to clarify program:
-----
* Adjusted number of sisters who reached age 15.
* If the age range of respondents stops at 59, remove the lag(resp,7) and the lag(sisters,7) parameters below.
* If the age range of respondents stops at 49, remove the lag(resp,6)+lag(resp,5) and the lag(sisters,6)+lag(sisters,5) parameters below as well.
compute resp35up = lag(resp,7)+lag(resp,6)+lag(resp,5)+lag(resp,4)+lag(resp,3)+lag(resp,2)+lag(resp,1).
compute sis35up = lag(sisters,7)+lag(sisters,6)+lag(sisters,5)+lag(sisters,4)+lag(sisters,3)+lag(sisters,2)+lag(sisters,1).
-----
** Statements above modified to add lag(???,7).
** Labels below added to clarify program:
-----
* If the age range of respondents stops at 59, remove the lag(sisadj,10) parameters below.
* If the age range of respondents stops at 49, remove the lag(sisadj,8)+lag(sisadj,9) parameters below.
-----
** Labels below added to clarify program:
-----
* If the age range of respondents stops at 59, remove the lag(unitrisk,10) parameters below.
* If the age range of respondents stops at 49, remove the lag(unitrisk,8)+lag(unitrisk,9) parameters below.
*---------------------------------------------------------------------------.
07 - ED.01.SPS
** Labels below added to clarify program, and select statement modified:
-----
* modify selection to include only one specific age on HL6 that matches the age at which children start primary school
* in addition to the age range of 36-59 months for the early childhood education columns.
select if ((cage >= 36 and cage <= 59) or HL5 = 6).
-----
if (hl5 = 7) agerange = 5.
** if statememt modified to only pick age group 7.
-----
5 "7 years".
** label modified only to include age 7 in category 5.
*---------------------------------------------------------------------------.
07 - ED.02.SPS
* Including second grade due to age issues.
if (ED6A = 1 and (ED6B = 1 or ED6B = 2)) first = 100.
** If statement above modified and label above added to deal with age issues for first grade, instead of line below.
if (ED6A = 1 and ED6B = 1) first = 100.
*---------------------------------------------------------------------------.
07 - ED.04w.SPS
** New program added to permit calculation of wsecondary school age attending primary school.
*---------------------------------------------------------------------------.
07 - ED.06.SPS
** Program modified to simplfiy modifications required in each country by creating two working variables:
** maxage - set to the age at primary school graduation.
** higrade - set to the highest grade of primary (the last grade at which children graduate from primary school).
* Primary school graduation age.
compute maxage = 10.
* Last primary grade.
compute higrade = 4.
-----
** Comments added to clarify program.
* the following code assumes that the primary school graduation age is 10 (HL5) (see maxage) and
* that fourth grade is the last primary grade (ED6B and ED8B) (see higrade);
-----
** other changes throughout to use the working variables above.
compute pageg = 0.
if (HL5 = maxage) pageg = 1.
compute prepeat = 0.
if (((ED6A = 1 and ED6B >= higrade and ED6B < 8) or (ED6A >= 2 and ED6A < 8)) and ED8A = ED6A and ED8B = ED6B and HL5 = maxage) prepeat = 1.
compute plgrade = 0.
if (((ED6A = 1 and ED6B >= higrade and ED6B < 8) or (ED6A >= 2 and ED6A < 8)) and HL5 = maxage and prepeat = 0) plgrade = 1.
compute cass = 0.
if (ED6A = 2 and ED8A = 1 and ED8B = higrade) cass = 1.
compute lgps = 0.
if (ED8A = 1 and ED8B = higrade) lgps = 1.
-----
** table command changed to use Total variable, instead of FTOTAL tot1.
/table = HL4 + HH7 + HH6 + melevel + wlthind5 + HC1B + total BY
*---------------------------------------------------------------------------.
07 - ED.07.SPS
** variable labels corrected to reflect secondary school instead of primary school.
variable label boyss "Number of secondary school age boys".
variable label narbs "Number of secondary school age boys attending secondary "+
variable label girlss "Number of secondary school age girls".
variable label narfs "Number of secondary school age girls attending secondary "+
*---------------------------------------------------------------------------.
08 - CP.01.SPS
variable label total1 "Number of children aged 0-59 months without birth registration".
value label total1 1 "".
** value label above changed to be a variable label.
*---------------------------------------------------------------------------.
08 - CP.04.SPS
/rename (CD11 = HL1).
** One space added in at beginning of rename subcommand to allow use in include file.
weight by hhweight.
** weight command now active, rather than just a comment (asterisk removed from beginning of line).
*---------------------------------------------------------------------------.
08 - CP.08.SPS
cpct(fgmtype (f5.1) '': HH7 HH6 wage melevel wlthind5 HC1B)
** cpct command changed to ensure correct calculation of percentages.
*---------------------------------------------------------------------------.
08 - CP.09.SPS
/table = HH7 + HH6 + wage + mstatus + melevel + wlthind5 + HC1B + tot1 by
** Education variable 'melevel' added into row variables of table.
*---------------------------------------------------------------------------.
MAKECH.SPS
** Several modifications to MAKECH.SPS