*/1)/*; data tp; input numero taille poids sexe $ sexecode; cards; 1 174 65 m 1 2 169 56 f 2 3 166 48 f 2 4 181 80 m 1 5 168 53 f 2 6 176 76 m 1 7 190 77 m 1 8 159 70 f 2 9 162 60 f 2 10 164 51 f 2 11 160 73 f 2 ; run; */2)/*; proc print; run; */4)/*; libname malib 'C:\Users\christine\Desktop\SAS'; data malib.tp; input numero taille poids sexe $ sexecode; cards; 1 174 65 m 1 2 169 56 f 2 3 166 48 f 2 4 181 80 m 1 5 168 53 f 2 6 176 76 m 1 7 190 77 m 1 8 159 70 f 2 9 162 60 f 2 10 164 51 f 2 11 160 73 f 2 ; run; */5)/*; proc print data=tp label; label poids="poids de l'élève" taille="taille de l'élève"; run; */6)/*; proc format; value sexecodage 1='masculin' 2='féminin'; run; proc print data=tp; format sexecode sexecodage.; run; */7)/*; proc import out=malib.ozone datafile="C:\Users\christine\Desktop\SAS\ozone.xls" DBMS=XLS REPLACE; SHEET="tp1"; GETNAMES=YES; MIXED=YES; run; */8)/*; proc contents data=malib.ozone; run; */9)/*; data malib.nombres; input x y; cards ; 5 5 2 -3 4.5 10 3.2 1 2 0 ; run; */10)/*; data malib.calcul; set malib.nombres; a=x+y; b=x-y; c=x*y; e=min(x,y); f=max(x,y); g=x/y; h=abs(y); i=exp(x); j=int(x); k=log(y); l=log10(x); m=sign(y); n=sqrt(x); run; */11)/*; data malib.compt; do i=1 to 100 by 1; x=rand('binomial',0.4,20); y=1+x; x=x-1; output compt; end; run; */12)/*; data malib.marche; retain x y (1 0); do i=1 to 10 by 1; y=y+x; x=rand('uniform'); output malib.marche; end; run; */13)/*; data malib.tp; set tp; run; proc sort data=malib.tp; by taille; run; */14)/*; proc sort data=malib.tp; by sexe; run; proc print data=malib.tp; by sexe; run; */15)/*; data malib.tp2; set malib.tp; keep numero taille poids sexecode; run; */16)/*; data malib.tp3; set malib.tp; drop taille poids; run; */17)/*; proc sort data=malib.tp2; by numero; run; proc sort data=malib.tp3; by numero; run; data malib.tp4; merge malib.tp2 malib.tp3; by numero; run; */18)/*; data malib.tab1; input numero sexecode; cards; 12 1 13 1 14 2 ; run; data malib.tp5; set malib.tp malib.tab1; run; */19)/*; data malib.tp6; set malib.tp; where sexecode=1; run; */20)/*; data malib.tp7; set malib.tp; if sexe='f' then delete; run; */21)/*; data malib.garcons malib.filles; set malib.tp; if sexecode=1 then output malib.garcons; if sexecode=2 then output malib.filles; run; data malib.garcons2 malib.filles2; set malib.tp; select(sexecode); when(1) output malib.garcons2; otherwise output malib.filles2; end; run; */2/*; */Exo1/*; */1)/*; data malib.ozone2; set malib.ozone; t=_n_; run; */2)/*; goptions reset=all border; proc gplot data=malib.ozone2; plot maxO3*t; symbol interpol=join; run; quit; */3)/*; proc means data=malib.ozone2; var maxO3; output out=malib.sortiemeans; run; */4)/*; proc gchart data=malib.ozone2; vbar maxO3 / space=0 type=percent midpoints= 21.5 to 145 by 13; run; quit; */5)/*; ods select testsfornormality; proc univariate data=malib.ozone2 mu0=53.7 normaltest; var maxO3; run; */6)/*; ods graphics off; proc univariate data=malib.ozone2 plot; var maxO3; histogram maxO3 / lognormal (color=red) weibull (color=blue) gamma (color=yellow); qqplot maxO3 / gamma(alpha=est sigma=est theta=est); symbol v=circle ; run; */8)/*; proc gplot data malib.ozone2; plot maxO3*T12; symbol i=RL v=circle; run; proc corr data=malib.ozone2; var maxO3 T12; run; */Exo2/*; */1)/*; proc import out=malib.salaire datafile="C:\Users\christine\Desktop\SAS\salaires.xls" DBMS=XLS REPLACE; SHEET="Feuil1"; GETNAMES=YES; MIXED=YES; run; proc sort data=malib.salaire; by sexe; run; */2)/*; proc gchart data=malib.salaire; vbar absence/discrete; by sexe; run; pattern1 color=red; pattern2 color=blue; proc gchart data=malib.salaire; vbar sexe/discrete group=absence; run; quit; proc gchart data=malib.salaire; vbar absence / discrete subgroup=sexe; run; quit; proc univariate data=malib.salaire; var absence; run; */3)/*; proc means data=malib.salaire; var absence; by sexe; output out=malib.sortieabs; run; */4)/*; proc anova data=malib.salaire; class sexe; model absence=sexe; run; quit; proc freq data=malib.salaire; table sexe*csp; run; */decomposition de la variance/*; proc sort data=malib.salaire; by sexe; run; data malib.sortieabs2; set malib.sortieabs; if _stat_='MEAN' then output; run; */variance inter/*; proc univariate data=malib.sortieabs2; var absence; freq _freq_; run; data malib.sortieabs3; set malib.sortieabs; if _stat_='STD' then output; run; data malib.sortieabs4; set malib.sortieabs3; variance=absence*absence; run; */variance intra/*; proc univariate data=malib.sortieabs4; var variance; freq _freq_; run; */7)/*; */somme des salaires/*; proc means data=malib.salaire sum; var salaire; by sexe; output out=malib.sortiesal sum=somme; run; proc transpose data=malib.sortiesal out=malib.sortiesal; run; data malib.sommesal; set malib.sortiesal; keep _name_ col1 col2; if _name_="somme" then output malib.sommesal; run; data malib.sommesal; set malib.sommesal; total=col1+col2; run; */5)/*; proc univariate data=malib.salaire noprint; histogram salaire; by sexe; run; quit; proc means data=malib.salaire; by sexe; run; */8)/*: proc sort data=malib.salaire; by salaire; run; data malib.salaire2; set malib.salaire; retain salcum 0; salcum=salcum+salaire; p2=salcum/2272200; p1=_n_/120; run; proc gplot data=malib.salaire2; plot p2*p1 p1*p1 / overlay; symbol i=join v=point; run; quit; data malib.salaire3; set malib.salaire2; retp2=lag(p2); retp1=lag(p1); run; data malib.salaire4; set malib.salaire3; airetrap=0.5*(p1-retp1)*(p2+retp2); run; proc means data=malib.salaire4 sum; var airetrap; output out=malib.gini sum=s; run; data malib.gini; set malib.gini; indice=2*(0.5-s); run; proc print data=malib.gini; run; proc sort data=malib.salaire; by salaire; run; data malib.salaireg; set malib.salaire; if salaire<=11450 then groupe=1; else if 11450