2 Illustrationer
2.1 Histogram
Eksempel: Vitamin D (irske kvinder, uge 1)
Jvf SAS-intro om histogrammer.
=vitEI;
proc sgplot data
histogram vitd;
density vitd;/ type=kernel;
density vitd run;
2.2 Boxplot
Eksempel: Vitamin D (irske kvinder, uge 1)
=vit;
proc sgplot data/ category=country;
vbox vitd ='Vitamin D';
label vitd='Land';
label country run;
2.3 QQ-plot
Eksempel: Vitamin D (irske kvinder, uge 1)
Fraktildiagrammer laves med proceduren proc univariate
som også kan benyttes til deskriptiv statistik. Output er alen-langt - med noprint
-option i proc
-linjen får vi ikke noget print, kun grafik. Vi skal specificere at vi ønsker at sammenligne med en normalfordeling som svarer til den estimerede middelværdi og spredning (mu
og sigma
sættes til est
):
=vitEI noprint;
proc univariate data/ normal (mu=est sigma=est);
qqplot vitd run;
2.4 Scatterplot med linjer
Eksempel: Slagvolumen målt ved to metoder (parrede målinger, uge 1)
Jvf. SAS-intro om scatterplot. Her skal vi dog tegne en ekstralinje specificeret ved skæring 0 og hældning 1. Dette gøres med en ekstra linje lineparm
hvor vi skal specificere en x- og y-værdi inden for det observerede område (specificerer vi (0,0) bliver linjen tegnet ned til 0 og det er vi ikke interesserede i, så vi lader den starte i nederste venstre hjørne (40,40)).
Bemærk at vi kan fastsætte farver på punkter og linjer med hhv markerattrs
og lineattrs
. Se eksempler på hvordan jeg modificerer disse i kapitel 2.6 om Bland-Altman plot.
=ms;
proc sgplot data=sv Y=mf / markerattrs=(color=blue);
scatter X=40 y=40 slope=1 / lineattrs=(color=red);
lineparm x run;
Se hvilke muligheder du har for at tilpasse linjerne (farve, type, tykkelse) her.
2.5 Spaghettiplot
Eksempel: Slagvolumen målt ved to metoder (parrede målinger, uge 1)
Et spaghettiplot kræver at data er på langt format, dvs at alle målingerne står i én søjle (her med navn vol
), mens en anden forklarende variabel metode
angiver hvilken metode der er tale om. Data i langt format indlæses fra datafilen mf_sv_lang
enten fra URL eller download fra folderen med datafiler.
data lang;"http://staff.pubhealth.ku.dk/~sr/BasicStatistics/datasets/mf_sv_lang.csv"
infile =2 delimiter=",";
URL firstobs$ id;
input vol metode run;
Spaghettiplot med forskellig farve / linjetype for hver person (id
):
=lang;
proc sgplot data=metode Y=vol / group=id;
series X run;
2.6 Bland-Altman plot
Eksempel: Slagvolumen målt ved to metoder (parrede målinger, uge 1)
Plot af differens vs gennemsnit (først defineres differens og gennemsnit som nye variable i datasættet):
data ms;
set ms; =mf-sv;
dif=(mf+sv)/2;
gns
run;
=ms;
proc sgplot data=gns Y=dif / markerattrs=(color=blue);
scatter X=40 y=0 slope=0 / lineattrs=(color=gray pattern=dot);
lineparm x=40 y=0.238 slope=0 / lineattrs=(color=red);
lineparm x=40 y=-13.68 slope=0 / lineattrs=(color=blue);
lineparm x=40 y=14.16 slope=0 / lineattrs=(color=blue);
lineparm x run;
Prøv at google ‘proc sgplot lineattrs’ så finder du fx denne side. Prøv evt selv at rode lidt med farver, linjetyper, tykkelse. Prøv at google ‘proc sgplot markerattrs’ og se om du kan finde ud af at lege med punkterne også.
2.7 3D-plot
Eksempel: Fødselsvægt, uge 6.
3D-plot laves vha proc g3d
. Her specificerer vi de to variable i X-Y-planen med et * i mellem på venstre side af et lighedstegn, på højre side specificerer vi den variabel vi ønsker plottet opad. Vi kan styre plottet med en række options i scatter
-linjen. Her er anvendt shape="pillar"
som tegner søjler og størrelsen af disse styres af size
(her tegnes de i halv størrelse).
=secher;
proc g3d data*ad=vaegt / shape="pillar" size=0.5;
scatter bpd run;
Se SAS’s egen hjemmeside om 3D-plot for yderligere options og argumenter, og prøv dig frem (feks shape="star" size=2
).
2.8 Bubbleplot
Eksempel: Fødselsvægt, uge 6.
En anden måde vi kan visualisere sammenhængen mellem fødselsvægt og de forklarende variable er ved et 2D-plot med proc sgplot
, hvor størrelsen (size
) indikerer fødselsvægten.
Ekstra argumenter bradiusmin
og bradiusmax
specificerer minimum og maximum størrelse af boblerne.
=secher;
proc sgplot data=ad X=bpd size=vaegt / bradiusmin=1 bradiusmax=6;
bubble Y run;
Se i øvrigt SAS’s egen hjemmeside om bubbleplot for flere options.