Procedurer

Nedenfor finder du en kort beskrivelse af nogle af de hyppigst anvendte procedurer. Siden vil blive opdateret løbende efterhånden som vi får brug for flere procedurer, men vil næppe blive udtømmende (muligvis får I brug for kommandoer / options / procedurer som ikke bliver beskrevet her). Flere detaljer om procedurerne og deres anvendelse kan findes på SAS' hjemmeside (klik på +'et ud for 'Procedures' for at få en komplet liste over alle procedurer; herfra kan klikkes ind på de enkelte procedurer). Lene har en lille SAS-manual som du med fordel kan bladre igennem og Janne Petersen (øvelseslærer) har også udarbejdet et sæt slides (link endnu ikke aktivt) som det er værd at kigge igennem.

For hver procedure gives et eksempel med en anvendelse på datasættet Sundby95 benyttet i videoerne med introduktion til SAS. Datasættet indlæser du med syntaksen (jvf video 1 på introduktionssiden)

data sundby;
     infile "http://staff.pubhealth.ku.dk/~lts/basal/data/sundby_lille.txt" url firstobs=2;
     input kon v75 v76 v17 v24af;

     * alkohol i grupper;
     if .z < v24af <= 3 then alkohol='0-3 genstande';
     if 3 < v24af <= 6 then alkohol='3-6 genstande';
     if v24af > 6 then alkohol='6+ genstande';
run;

hvor jeg i samme ombæring også har defineret den kvalitative version af alkoholvariablen (video 6). Du kan efter at have indlæst disse data køre alle eksemplerne nedenfor.

Det tager tid at lære hvilke procedurer man benytter til hvilke formål. På denne side gennemgås proc contents som giver et overblik hvad data indeholder, proc print som benyttes til at printe (dele af) et datasæt. proc sort benyttes til at sortere datasæt, etc etc eller hvordan give et kort overblik.... måske bullet-liste


proc contents

Giver antal observationer og en liste over variablene i et datasæt.

proc contents data=sundby;
run;


proc print

Printer (dele af) et datasæt. Med ekstra option (obs=15) printes kun de 15 første observationer. Med var fortæller vi hvilke variable vi ønsker at printe.

proc print data=sundby (obs=15);
var kon v76;
run;


proc sort

Sorterer observationerne i et datasæt efter værdierne af en eller flere variable angivet i by-linien. Nedenfor bliver data sorteret efter stigende værdi af kon og for hver værdi af kønsvariablen, bliver data sorteret efter stigende værdi af v76 (højde). Dvs først får vi alle mænd sorteret efter stigende højde, derefter alle kvinder efter stigende højde.

proc sort data=sundby;
by kon v76;
run;


proc sort gør ikke andet end at sortere dit datasæt, så hvis du vil se resultatet af din sortering skal du efterfølgende lave et print af dine data (ved brug af proc print).


Vi kan bede om at få observationerne sorteret i omvendt rækkefølge ved at tilføje et descending før den variabel, vi ønsker at sortere omvendt efter (her v76). Her får vi således først mænd sorteret efter aftagende højde (dvs de høje mænd står først i datasættet), derefter kvinder efter aftagende højde.

proc sort data=sundby;
by kon descending v76;
run;


proc univariate

Denne procedure kan benyttes på flere forskellige måder til at beskrive fordelingen af en kvantitativ variabel. Hvis vi i en var-linie angiver variablen får vi et hurtigt overblik med en lang række deskriptive størrelser (median, middelværdi, standard deviation, test for om middelværdi / median er 0, ...):

proc univariate data=sundby;
var v76;
run;

Et histogram kan vi få lavet vha. en histogram-linie. Hvis vi samtidigt tilføjer option noprint i proc univariate-linien undgår vi at få den lange liste med deskriptive størrelser som vi ellers får af proc univariate:

proc univariate data=sundby noprint;
histogram v76;
run;

Tilsvarende kan et QQ-plot laves med en qqplot-linie (de ekstra options efter /'en sikrer at plottet tilføjes en referencelinie svarende til normalfordelingen med den estimerede middelværdi og standarddeviation):

proc univariate data=sundby noprint;
qqplot v76 / normal (mu=est sigma=est);
run;


proc means

Benyttes til at beregne summer, gennemsnit, standardafvigelser, medianer mm. Med en var-linie fortæller vi, hvilke variable vi ønsker at beregne disse størrelser for. Dette giver kun mening for kvantitative (numeriske) variable.

proc means data=sundby;
var v75 v76;
run;

Tilføjes en class-linie, hvor man specificerer en kvalitativ variabel, udføres beregningerne for hvert niveau af den kvalitative variabel. Hvis vi f.eks. ønsker beregningerne udført for hvert køn skriver vi:

proc means data=sundby;
var v75 v76;
class kon;
run;

Ekstra options kan tilføjes i proc means-linien til at kontrollere præcis hvilke størrelser der skal bestemmes, for eksempel:

proc means data=sundby n q1 q3 range mean maxdec=2;
var v75 v76;
run;

Hvordan disse options skal forstås og øvrige nyttige muligheder fremgår af nedenstående tabel.

maxdec=x

Specificerer at vi ønsker resultaterne angivet med x decimaler.

n

Antal observationer med oplyste værdier

nmiss

Antal observationer med manglende værdier

median

Median

min

Mindste værdi (minimum)

max

Største værdi (maximum)

range

Variationsbredde (maximum - minimum)

q1 / q3

Hhv. 1. og 3. kvartil (25% og 75%-fraktil)

p1 / p5 / p95 / p99

Hhv. 1%, 5%, 95% og 99%-fraktiler

sum

Sum

mean

Gennemsnit

std

Spredning = standardafvigelse = standard deviation

var

Varians

stderr

Standard error (standard afvigelse på gennemsnittet)

clm

Konfidensinterval for middelværdien

t

T-test størrelsen for test af hypotesen om at middelværdien er 0

probt

P-værdien hørende til t-test størrelsen for test af hypotesen om at middelværdien er 0


proc freq

Benyttes til at lave tabeller og diverse tests i en-, to- flervejstabeller. I video 5 gennemgik jeg hvordan man benytter proc freq til at lave en simpel optælling / envejstabel med syntaksen:

proc freq data=sundby;
tables kon;
run;

Har man en variabel med to kategorier (feks ja/nej eller 0/1) kan man undersøge hypotesen om at sandsynligheden for succes (succes defineret som første niveau af variablen, dvs her ja eller 0) er lig en bestemt værdi. Ønsker man feks at teste om sandsynligheden for at være mand er 0.5 (fjollet formuleret) svarende til at andelen af mænd og kvinder er