/* USERS WILL NEED TO MODIFY THIS LIBNAME STATEMENT TO FIT LOCAL OPERATING ENVIRONMENT */ libname china95 '~/ipums/china/china1995/sasdata'; /* Part One: Create household totals for income definition from individual values */ data a; set china95.urbanp(keep=n1 a52 a53 a54 a55 a56 a57 a58 a59 a60 a61 a62 a66 a68 a69 a67 province county a77 a64 a65 a85 a71 a72 a73 a74 a75 a79 a80 a81 a82 a89 a90 a91 a92 a93 a94 a78 a84 a86); Array AA (I) a52 a53 a54 a55 a56 a57 a58 a59 a60 a61 a62 a66 a68 a69 a67 a77 a79 a80 a81 a82 a89 a90 a91 a92 a93 a94 a78 a84 a86; do over AA; if AA<0 then AA=0; end; Array BB (I) a64 a65 a85 a71 a72 a73 a74 a75 ; do over BB; if BB=. then BB=0; end; if (a56+a57+a58+a59)>a55 then a55=(a56+a57+a58+a59); if (a53+a54+a55+a60+a61)>a52 then a52=(a53+a54+a55+a60+a61); if (a72+a73+a74+a75)>a71 then a71=(a72+a73+a74+a75); if (a90+a91+a92+a93+a94)>a89 then a89=(a90+a91+a92+a93+a94); proc means data=a sum noprint; var a52 a62 a66 a68 a69 a67 a77 a64 a65 a85 a71 a79 a80 a81 a82 a89 a78 a84 a86; output out=a2 sum=a52h a62h a66h a68h a69h a67h a77h a64h a65h a85h a71h a79h a80h a81h a82h a89h a78h a84h a86h; by n1; run; /* Part Two: Combine the individual totals with the remaining household variables needed for income definition */ data e; merge china95.urbanh(keep=province county nhh n1 h63 h68 h64 h14) a2; by n1; run; data kk; set e; UY1=a52h+a62h+a66h+a68h+a69h; UY2=a67h+a77h; UY4=a64h+a65h+a85h; UY5=a71h; UY6=a79h+a80h+a81h+a82h; UY7=a89h+a78h+a84h+a86h; if(h63=1 or h63=2) then UY9=12*h68-12*h64; else UY9=0; if UY9<0 then UY9=0; if (h63=3 or h63=4 or h63=5) then UY10=12*h68-.08*h14; else UY10=0; if UY10<0 then UY10=0; UY=UY1+UY2+UY4+UY5+UY6+UY7+UY9+UY10; UYPC=UY/NHH; drop _type_ _freq_ ; run; /* USERS WILL NEED TO REMOVE THE COMMENTS BELOW IN ORDER TO SET A PERMANENT SAS DATASET */ data china95.uincome; set kk; run;