2019年10月5日 星期六

[教學示範]「使用工具:SAS」高中數學_排課組合問題

例:




data class;  /*開一個名為class的資料集,a~g分別代表第1堂課~第7堂課上課與否,=1表示要上課 用迴圈跑出128種可能,h介於3~5才是我們要的,i若等於2不是我們要的*/
do a=1,0;
do b=1,0;
do c=1,0;
do d=1,0;
do e=1,0;
do f=1,0;
do g=1,0;
h=a+b+c+d+e+f+g;
i=d+e;
output;end;end;end;end;end;end;end;
run;

<局部擷圖>


data class_2;  /*將具有128筆觀察值的class資料集,灌入空白資料集class_2, 但只允許h介於3~5的觀察值灌進來,結果有91筆*/
set class;
where 3<=h<=5;
run;

data class_3 ; /*再灌入另一個新資料集,結果有66筆*/
set class_2 ;
where i^=2;
run;

data class_4; /*設新變數aaa~eee,若有一個變項=3,表示連上三堂課*/
set class_3;
abc=a+b+c;
bcd=b+c+d;
cde=c+d+e;
def=d+e+f;
efg=e+f+g;
run;

data class_5;  /*再灌入另一個新資料集,排除連上三堂課的觀察值,結果有45筆,所以答案是(2)*/
set class_4;
where abc<3 and  bcd<3 and cde<3 and def<3 and efg<3;
run;



沒有留言: