libname rus 'C:\1datalap\papers\walls_sork'; run; PROC IMPORT OUT= WORK.a DATAFILE= "C:\1datalap\papers\walls_sork\class6.dbf" DBMS=DBF REPLACE; GETDELETED=NO; RUN; data a1; set a; id1=id; drop id; run; proc sort;by id1;run;proc print;where id1=2;run; PROC IMPORT OUT= WORK.b DATAFILE= "C:\1datalap\papers\walls_sork\class7.dbf" DBMS=DBF REPLACE; GETDELETED=NO; RUN; data b1; set b; id1=id+28; if id=21 then id1=1000; drop id; run; proc sort;by id1;run;proc print;where id1=29;run; PROC IMPORT OUT= WORK.c DATAFILE= "C:\1datalap\papers\walls_sork\class8.dbf" DBMS=DBF REPLACE; GETDELETED=NO; RUN; data c1; set c; id1=id+48; if id=24 then id1=1001; drop id; run; PROC IMPORT OUT= grd6marks DATAFILE= "C:\1datalap\papers\walls_sork\grd6marksA.xls" DBMS=EXCEL2000 REPLACE; GETNAMES=YES; RUN; data grd6marks1; set grd6marks; id2=id; drop id; run; PROC IMPORT OUT= grd7marks DATAFILE= "C:\1datalap\papers\walls_sork\grd7marksA.xls" DBMS=EXCEL2000 REPLACE; GETNAMES=YES; RUN; data grd7marks1;set grd7marks; id2=id+28; drop id; run; PROC IMPORT OUT= grd8marks DATAFILE= "C:\1datalap\papers\walls_sork\grd8marksA.xls" DBMS=EXCEL2000 REPLACE; GETNAMES=YES; RUN; data grd8marks1;set grd8marks; id2=id+48; drop id; run; PROC IMPORT OUT= melissa6 DATAFILE= "C:\1datalap\papers\walls_sork\melissa6.xls" DBMS=EXCEL2000 REPLACE; GETNAMES=YES; RUN; PROC IMPORT OUT= melissa7 DATAFILE= "C:\1datalap\papers\walls_sork\melissa7.xls" DBMS=EXCEL2000 REPLACE; GETNAMES=YES; RUN; PROC IMPORT OUT= melissa8 DATAFILE= "C:\1datalap\papers\walls_sork\melissa8.xls" DBMS=EXCEL2000 REPLACE; GETNAMES=YES; RUN; data melissa6new; set melissa6 ; newtime=timepart(time); format newtime hhmm10.; drop time; run; data melissa7new; set melissa7; newtime=timepart(time); format newtime hhmm10.; drop time; run; data melissa8new; set melissa8; newtime=timepart(time); format newtime hhmm10.; drop time; run; data grade6pred; set a1; class1 = 6; run; data grade7pred; set b1; class1 = 7; run; data grade8pred; set c1; class1 = 8; run; data grd8marksA; set grd8marks1; grade = 8; litAVEgr8 = mean (of lit1 lit2 lit3 russian1 russian2 russian3); mathAVEgr8 = mean (of algeb1 algeb2 algeb3 geom1 geom2 geom3); run; data grd7marksA; set grd7marks1; grade = 7; litAVEgr7 = mean (of lit1 lit2 lit3 russian1 russian2 russian3); mathAVEgr7 = mean (of algeb1 algeb2 algeb3 geom1 geom2 geom3); run; data grd6marksA; set grd6marks1; grade = 6; litAVEgr6 = mean (of lit1 lit2 lit3 russian1 russian2 russian3); mathAVEgr6 = mean (of math1 math2 math3); run; data marks; set grd6marksA grd7marksA grd8marksA; run; proc sort; by id2;run; data pred; set grade6pred grade7pred grade8pred; mot = mean(of v3-v11); meta = mean (of v22-v30); run; proc print data = pred; run; proc sort; by id1; proc sql; create table rus.notime as select a.*, b.* from pred as a left join marks as b on a.id1=b.id2; proc print data = rus.notime; where id1 = 1; run; proc sort; by id1 id2;run; data notime;set rus.notime; if id2="." then id2=id1; drop id1; run; data notime; set notime; INTRIN = mean (of v5 v8 v20); IDENTI = v10; INTROJ = v9; EXTRIN = mean (of v7 v11 v3); run; data allmelissa; set melissa6new melissa7new melissa8new; run; /*proc print;run;*/ proc sql; create table rus.full as select a.*, b.newtime, b.subject from notime as a left join allmelissa as b on a.class1=b.class2 and a.date=b.date1 and a.lesson=b.lesson1; proc print data = rus.full; var id2; where id2 = 61; run; data rus.fullnew; set rus.full; array temp (*) V1-V30; do i=1 to dim(temp); if temp(i)=7 or temp(i)=8 or temp(i)=9 then temp(i)=.; end; if task=7 or task=8 or task=9 then task= . ; mathall = .; if mathAVEgr6 ne . then mathall = mathAVEgr6; if mathAVEgr7 ne . then mathall = mathAVEgr7; if mathAVEgr8 ne . then mathall = mathAVEgr8; litall = .; if litAVEgr6 ne . then litall = litAVEgr6; if litAVEgr7 ne . then litall = litAVEgr7; if litAVEgr8 ne . then litall = litAVEgr8; rusavg=mean (of russian1 russian2 russian3 russian4); litavg=mean (of lit1 lit2 lit3 lit4); histavg=mean (of history1 history2 history3 history4); bioavg=mean (of bio1 bio2 bio3 bio4); geoavg=mean (of geog1 geog2 geog3 geog4); mxkavg=mean (of mxk1 mxk2 mxk3 mxk4); hist1avg=mean (of history11 history21 history31 history41); geo1avg=mean (of geog11 geog21 geog31 geog41); bio1avg=mean (of biology1 biology2 biology3 biology4); behavavg=mean (of behav1 behav2 behav3 behav4); forlangavg=mean (of forlang1 forlang2 forlang3 forlang4); gymavg=mean (of gym1 gym2 gym3 gym4); informavg=mean (of informatika1 informatika2 informatika3 informatika4); physicsavg=mean (of physics1 physics2 physics3 physics4); geomavg=mean (of geom1 geom2 geom3 geom4); algebavg=mean (of algeb1 algeb2 algeb3 algeb4); behavavg=mean (of behav1 behav2 behav3 behav4); classbehavg=mean (of classbeh1 classbeh2 classbeh3 classbeh4); chemavg=mean (of chem1 chem2 chem3 chem4); projavg=mean (of project1 project2 project3 project4); bioprojavg=mean (of bioproj1 bioproj2 bioproj3 bioproj4); histprojavg=mean (of histproj1 histproj2 histproj3 histproj4); gpa=mean (of rusavg litavg histavg bioavg geoavg mxkavg hist1avg geo1avg bio1avg behavavg forlangavg gymavg informavg physicsavg geomavg algebavg behavavg classbehavg chemavg projavg bioprojavg histprojavg); if mot>=2 then mot1=1; else mot1=0; if meta>=2 then meta1=1; else meta1=0; /*mot*/ rename v3 = c_parents; rename v4 = c_smart; rename v5 = c_like1; rename v6 = c_try; rename v7 = c_teach; rename v8 = c_like2; rename v9 = c_hadto; rename v10 = c_import; rename v11 = c_test; /*aspir*/ rename v12 = implife; rename v13 = impinst; rename v14 = impwork; rename v15 = impfutest; /*meta1*/ rename v16 = metprobsolv; rename v17 = metstepby; rename v18 = metthinkwork; rename v19 = mettold; rename v20 = metownway; rename v21 = metfriends; /*meta2*/ rename v22 = metthink; rename v23 = metsteps; rename v24 = metdetsteps; rename v25 = metfollowwork; rename v26 = metcheckwork; rename v27 = metattent; rename v28 = metworkatend; rename v29 = metstrategy; rename v30 = metthoughtbefore; rename id2=id; /*fix codes for missing values--need any function*/ run;