23.07.2013 Views

Supplerende noter til "Kursus i brug af SAS" (på dansk)

Supplerende noter til "Kursus i brug af SAS" (på dansk)

Supplerende noter til "Kursus i brug af SAS" (på dansk)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.5 Beregninger p˚a tværs <strong>af</strong> observationer<br />

Normal køres datatrinnet igennem for hver observation (dvs. hver række) i ind-datasættet.<br />

Hvis man laver nye variabler i datatrinnet nuls<strong>til</strong>les (eller rettere “missing” s<strong>til</strong>les) disse hver<br />

gang datatrinnet gennemløbes for en ny observation. Dette kan undertrykkes ved et RETAIN<br />

statement. Derved beholder variablen den værdi den havde ved <strong>af</strong>slutningen <strong>af</strong> et datastep<br />

gennemløb <strong>til</strong> næste gennemløb. Man kan <strong>brug</strong>e dette <strong>til</strong> at udføre beregninger p ˚a tværs <strong>af</strong><br />

observationer i et datasæt.<br />

Betragt nedenst˚aende datasæt, som illustrerer at man p ˚a nogle dyr har m˚alt deres vægt<br />

uge for uge:<br />

TITLE ’BEREGNINGER P˚A TVÆRS AF OBSERVATIONER’;<br />

DATA EKS;<br />

INPUT DYR UGE VAEGT;<br />

CARDS;<br />

1 1 12<br />

1 2 16<br />

1 3 19<br />

2 1 11<br />

2 2 16<br />

2 3 20<br />

3 1 12<br />

3 2 16<br />

3 3 21<br />

;<br />

M˚alet er at beregne den ugentlige <strong>til</strong>vækst. Dette kan gøres med følgende program:<br />

PROC SORT DATA=EKS;<br />

BY DYR UGE;<br />

DATA EKS2; SET EKS;<br />

BY DYR ;<br />

RETAIN FORRIGE 0;<br />

IF FIRST.DYR THEN<br />

TVAEKST = .;<br />

ELSE<br />

TVAEKST = VAEGT - FORRIGE;<br />

FORRIGE = VAEGT;<br />

PROC PRINT DATA=EKS2; RUN;<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!