2 Illustrationer

2.1 Histogram

Eksempel: Vitamin D (irske kvinder, uge 1)

Jvf SAS-intro om histogrammer.

proc sgplot data=vitEI;
     histogram vitd;
     density vitd;
     density vitd / type=kernel;
run;    

2.2 Boxplot

Eksempel: Vitamin D (irske kvinder, uge 1)

Jvf SAS-intro om boxplot

proc sgplot data=vit;
    vbox vitd / category=country;
    label vitd='Vitamin D';
    label country='Land';
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):

proc univariate data=vitEI noprint;
    qqplot vitd / normal (mu=est sigma=est);
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.

proc sgplot data=ms;
    scatter X=sv Y=mf / markerattrs=(color=blue);
    lineparm x=40 y=40 slope=1 / lineattrs=(color=red);
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;
    infile "http://staff.pubhealth.ku.dk/~sr/BasicStatistics/datasets/mf_sv_lang.csv"
    URL firstobs=2 delimiter=",";
    input vol metode $ id;
run;

Spaghettiplot med forskellig farve / linjetype for hver person (id):

proc sgplot data=lang;
    series X=metode Y=vol / group=id;
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; 
    dif=mf-sv;
  gns=(mf+sv)/2;
run;

proc sgplot data=ms;
    scatter X=gns Y=dif / markerattrs=(color=blue);
    lineparm 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);
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).

proc g3d data=secher;
    scatter bpd*ad=vaegt / shape="pillar" size=0.5;
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.

proc sgplot data=secher;
    bubble Y=ad X=bpd size=vaegt / bradiusmin=1 bradiusmax=6;
run;

Se i øvrigt SAS’s egen hjemmeside om bubbleplot for flere options.