options nocenter ps = 65 ls = 75; FILENAME navn URL "http://staff.pubhealth.ku.dk/~lts/basal/data/swabs.txt"; /* Spørgsmål 1 */ data swabs; infile navn firstobs=2; input crowding $ family name $ swabs; run; /* Spørgsmål 2 */ ods graphics on; proc sgpanel data=swabs; panelby crowding / columns=1; series Y=swabs X=name / group=family; run; /* Spørgsmål 3 og 5 */ proc mixed data=swabs; class crowding family name; model swabs=crowding name / ddfm=kr s cl outpm=predm; random intercept / subject=family(crowding) vcorr; estimate "old vs. young" name 1 0 -1 0 0 / cl; run; proc sort data=predm; by crowding name; run; proc sgplot data=predm; *where family=1 or family=7 or family=13; series Y=Pred X=name / group=crowding; run; /* Spørgsmål 4 */ proc mixed plots=all data=swabs; class crowding family name; model swabs=crowding name name*crowding / ddfm=kr s cl outpm=predm; random intercept / subject=family(crowding) vcorr; run; proc sort data=predm; by crowding name; run; proc sgplot data=predm; *where family=1 or family=7 or family=13; series Y=Pred X=name / group=crowding; run; proc glimmix plots=all data=swabs; class crowding family name; model swabs=crowding name name*crowding / s cl; random family(crowding); lsmeans name*crowding / plots=(meanplot(join clband sliceby=crowding)); run; /* Spørgsmål 5 er ovenfor */ /* Spørgsmål 6 */ proc means data=predm; class name; var Resid; run; proc mixed plots=all data=swabs; class crowding family name; model swabs=crowding name / ddfm=kr s cl outpm=predm; repeated name / type=un subject=family(crowding) r rcorr; estimate "old vs. young" name 1 0 -1 0 0 / cl; run; proc sort data=predm; by crowding name; run; proc sgplot data=predm; *where family=1 or family=7 or family=13; series Y=Pred X=name / group=crowding; run; /* Spørgsmål 8 */ proc sort data=swabs; by family; run; proc means noprint data=swabs; by family; var swabs; output out=averages mean=mswabs; id crowding; run; proc print data=averages; run; /* Spørgsmål 9 */ title 'SPM 9'; proc sgplot data=averages; scatter X=crowding Y=mswabs; run; proc glm data=averages; class crowding; model mswabs=crowding / solution clparm; run; /* Spørgsmål 10 */ title 'SPM 10'; proc glm data=swabs; class family name; model swabs=family name / solution clparm; estimate "old vs. young" name 1 0 -1 0 0; run; /* Spørgsmål 11 */ title 'SPM 11'; proc glm data=swabs; class family crowding name; model swabs = name crowding family name*crowding; run;