HI, I do not understand the parameters inside the operator in. Please see a data step "temp4" below. if (st11q01 in (.,.M,.N,.I)) then st11q01=9; if (st11q02 in (.,.M,.N,.I)) then st11q02=9; if (st11q03 in (.,.M,.N,.I)) then st11q03=9; st11q01, st11q02 and st11q03 are the birth variables of the student, mother and father. The valid codes for these variables are: 1: Country of test 2: Other Country 7: N/A 8: Invalid 9: Missing Does anyone in the forum know how to interpret inside the parenthesis? I think the first delimiter, the dot, is to ask if it is null. is it so? But, M, N, I ?? Book: PISA Data Analysis Manual, SAS, second edition, 2009 chapter 15: Multilevel model Thanks. More information on: https://www.oecd-ilibrary.org/docserver/9789264056251-16-en.pdf?expires=1638869672&id=id&accname=guest&checksum=BB2AD4A6835D5610A832BC248732A1F9 page 9 data temp4;
set Belgica2006;
/*if (cnt="BEL");*/
if (st01Q01 not in (7,8,9,10,11,12,13,14)) then st01Q01=.;
gender=.;
if (st04q01 in (1)) then gender=1;
if (st04q01 in (2)) then gender=0;
if (st11q01 in (.,.M,.N,.I)) then st11q01=9;
if (st11q02 in (.,.M,.N,.I)) then st11q02=9;
if (st11q03 in (.,.M,.N,.I)) then st11q03=9;
immig=(100*st11q01)+(10*st11q02)+(st11q03);
img=.;
if (immig in (111,121,112)) then img=0;
if (immig in (122,222)) then img=1;
vocation=.;
if (iscedo in (1)) then vocation=0;
if (iscedo in (2,3)) then vocation=1;
nbmis=0;
array vecmis (5) vocation st04q01 st01Q01 escs img;
do i=1 to 5;
if (vecmis(i) in (.,.N,.I,.M)) then nbmis=nbmis+1;
end;
if (nbmis=0);
scie1=pv1scie;
scie2=pv2scie;
scie3=pv3scie;
scie4=pv4scie;
scie5=pv5scie;
w_fstr0=w_fstuwt;
keep CNT SCHOOLID stidstd
scie1-scie5 w_fstr0-w_fstr80
vocation gender st01Q01 escs img;
run;
... View more