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)
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