/* exercice 1 */ /* question 1 */ data exo1; infile "C:\Users\gabriela\M2PRO\an2012\logicielSAS\sleep_animals.txt" ; input specie$ body_weight brain_weight slow_sleep paradoxal_sleep total_sleep span time predation$ exposure$ danger$ ; run; /* question 2 */ data t2; set exo1; if slow_sleep=-999.0 then slow_sleep=.; if paradoxal_sleep=-999.0 then paradoxal_sleep=.; if total_sleep=-999.0 then total_sleep=.; if span=-999.0 then span=.; if time=-999.0 then time=.; run; /* question 3 */ data t3; set t2; vv=total_sleep- (slow_sleep + paradoxal_sleep); run; /* la nouvelle var est 0 */ /* question 4 */ data t4; set t3; if (body_weight <100) then nouvelle="A" ; if (body_weight >=100 & body_weight <500) then nouvelle="B" ; if (body_weight >=500 & body_weight <1000) then nouvelle="C" ; if (body_weight >=1000) then nouvelle="D" ; run; /* question 5 */ data numeriques; set t4; keep body_weight brain_weight slow_sleep paradoxal_sleep total_sleep span time vv; file "C:\Users\gabriela\M2PRO\an2012\logicielSAS\numeriques.txt" ; put body_weight brain_weight slow_sleep paradoxal_sleep total_sleep span time vv; run; data characters; set t4; keep specie predation exposure danger nouvelle; file "C:\Users\gabriela\M2PRO\an2012\logicielSAS\characteres.txt" ; put specie predation exposure danger nouvelle; run; /* question 6 */ /* histogramme avec univariate*/ proc univariate data=t4 normal plot; histogram brain_weight /normal; /* avec la densité loi normale */ qqplot brain_weight/normal; run; /* histogramme avec gchart*/ /* on pourrait faire aussi avec PROC CHART, mais c'est plus basique */ proc gchart data=t4; vbar brain_weight; run; quit; data t4bis; set t4; nn=1; proc boxplot data=t4bis; plot(brain_weight)*nn; run; /* question 7 */ proc corr data=t4; var body_weight brain_weight slow_sleep paradoxal_sleep vv; run; /* question 8 */ proc means data=t4; var body_weight brain_weight slow_sleep paradoxal_sleep vv; run; /* question 9 */ proc univariate data=t4 normal; var total_sleep; run; /* question 10 */ proc freq data=t4; tables predation exposure danger nouvelle; run; /* question 11 */ proc plot data=t4; plot total_sleep*paradoxal_sleep="*" $nouvelle; run; proc plot data=t4; plot total_sleep*paradoxal_sleep="*" $specie; run; /* EXERCICE 2 */ /* question 1 */ proc sort data=t4; by body_weight; run; proc gplot data=t4; plot slow_sleep*body_weight; symbol1 interpol=j color=red; plot2 paradoxal_sleep*body_weight; symbol2 interpol=j color=blue; run; /* question 2 */ axis2 value=(c=green) label=(c=blue 'body_weight'); axis1 value=(c=blue) label=(c=red 'total_sleep'); proc gplot data=t4; plot total_sleep*body_weight/ vaxis=axis1 haxis=axis2; symbol1 i=j color=red v=star; title "Graphique "; run; quit; /* EXERCICE 3 */ proc iml; /* question 1 */ use exo1; read all var {body_weight brain_weight slow_sleep paradoxal_sleep total_sleep span time} into X; close exo1; /* question 2 */ print("la valeur demandee est="); print(x[15,3]); /* question 3 */ z=j(nrow(x),1,0); do i=1 to nrow(x); if x[i,1]<100 then z[i]=1; if (x[i,1]>=100 & x[i,1]<500) then z[i]=2; if (x[i,1]>=500 & x[i,1]<100) then z[i]=3; if (x[i,1]>=1000) then z[i]=4; end; print(z); /* question 4 */ y=x || z; print y; /* quetion 5 */ create tableN from Y; append from Y; close tableN; quit: /* EXERCICE 4 */ /* question 1 */ %let mex=exo1; /* question 2 */ %macro graph(y,x,v); proc plot data=&mex; plot &y*&x="*" $ &v; run; %mend graph; %graph(paradoxal_sleep,total_sleep,specie)