data mel; infile 't:\melanom.txt' firstobs=2; input casecon sex brevald agr hudfarve hair eyes fregner akutrea kronrea nvsmall nvlarge nvtot ant15; run; /* spm. 1. */ proc freq; tables casecon*hudfarve/chisq; run; /* spm. 2. */ data mel; set mel; hud02=hudfarve; if hudfarve=1 then hud02=.; hud01=hudfarve; if hudfarve=2 then hud01=.; run; proc freq; tables casecon*hud02/chisq relrisk; run; proc freq; tables casecon*hud01/chisq relrisk; run; /* spm. 3-4. */ data mel; set mel; if nvtot=0 then nv01=0; if nvtot>0 then nv01=1; if nvtot=. then nv01=.; if fregner=3 then fregne01=0; if 1<=fregner<=2 then fregne01=1; if fregner=. then fregne01=.; run; proc freq; tables casecon*nv01/chisq relrisk; run; proc freq; tables fregne01*casecon*nv01/chisq relrisk cmh; run; proc freq; tables casecon*fregne01/chisq relrisk; run; proc freq; tables nv01*casecon*fregne01/chisq relrisk cmh; run; /* spm. 5. */ proc genmod descending; class hudfarve; model casecon= hudfarve /dist=bin type3; estimate 'hud: med vs. mørk' hudfarve -1 1 0/exp; estimate 'hud: lys vs. mørk' hudfarve -1 0 1/exp; run; /* spm. 6. */ proc genmod descending; class eyes; model casecon= eyes /dist=bin type3; estimate 'øjne: grå vs. brun' eyes -1 1 0/exp; estimate 'øjne: blå vs. brun' eyes -1 0 1/exp; run; proc genmod descending; class hair; model casecon= hair /dist=bin type3; estimate 'hår: lys vs. mørk' hair -1 1 0 0/exp; estimate 'hår: blond vs. mørk' hair -1 0 1 0/exp; estimate 'hår: rød vs. mørk' hair -1 0 0 1/exp; run; proc genmod descending; class fregner; model casecon= fregner /dist=bin type3; estimate 'fregner: nogle vs. ingen' fregner 0 1 -1/exp; estimate 'fregner: mange vs. ingen' fregner 1 0 -1/exp; run; proc genmod descending; class akutrea; model casecon= akutrea /dist=bin type3; estimate 'akutrea: mild vs. ingen' akutrea 0 0 1 -1/exp; estimate 'akutrea: alvorlig vs. ingen' akutrea 0 1 0 -1/exp; estimate 'akutrea: vabler vs. ingen' akutrea 1 0 0 -1/exp; run; proc genmod descending; class kronrea; model casecon= kronrea /dist=bin type3; estimate 'kronrea: moderat vs. stærk' kronrea -1 1 0 0/exp; estimate 'kronrea: let vs. stærk' kronrea -1 0 1 0/exp; estimate 'kronrea: ingen vs. stærk' kronrea -1 0 0 1/exp; run; /* spm. 7. */ proc genmod descending; class hudfarve hair eyes fregner akutrea kronrea sex; model casecon= hudfarve hair eyes fregner akutrea kronrea sex/dist=bin type3; estimate 'hud: med vs. mørk' hudfarve -1 1 0/exp; estimate 'hud: lys vs. mørk' hudfarve -1 0 1/exp; estimate 'øjne: grå vs. brun' eyes -1 1 0/exp; estimate 'øjne: blå vs. brun' eyes -1 0 1/exp; estimate 'hår: lys vs. mørk' hair -1 1 0 0/exp; estimate 'hår: blond vs. mørk' hair -1 0 1 0/exp; estimate 'hår: rød vs. mørk' hair -1 0 0 1/exp; estimate 'kronrea: moderat vs. stærk' kronrea -1 1 0 0/exp; estimate 'kronrea: let vs. stærk' kronrea -1 0 1 0/exp; estimate 'kronrea: ingen vs. stærk' kronrea -1 0 0 1/exp; estimate 'akutrea: mild vs. ingen' akutrea 0 0 1 -1/exp; estimate 'akutrea: alvorlig vs. ingen' akutrea 0 1 0 -1/exp; estimate 'akutrea: vabler vs. ingen' akutrea 1 0 0 -1/exp; estimate 'fregner: nogle vs. ingen' fregner 0 1 -1/exp; estimate 'fregner: mange vs. ingen' fregner 1 0 -1/exp; run; /* spm. 8. - først laves den nye variabel i et nyt data step*/ data mel; set mel; if nvtot=0 then nynaevi=0; if nvtot=1 then nynaevi=1; if 2<= nvtot <= 4 then nynaevi=2; if nvtot>=5 then nynaevi=3; if nvtot=. then nynaevi=.; run; proc genmod descending; class nynaevi; model casecon= nynaevi/dist=bin type3; estimate 'nævi: 1 vs. 0' nynaevi -1 1 0 0/exp; estimate 'nævi: 2-4 vs. 0' nynaevi -1 0 1 0/exp; estimate 'nævi: 5+ vs. 0' nynaevi -1 0 0 1/exp; run; proc genmod descending; class nynaevi sex fregner hair hudfarve; model casecon= nynaevi sex fregner hair hudfarve/dist=bin type3; estimate 'nævi: 1 vs. 0' nynaevi -1 1 0 0/exp; estimate 'nævi: 2-4 vs. 0' nynaevi -1 0 1 0/exp; estimate 'nævi: 5+ vs. 0' nynaevi -1 0 0 1/exp; run; /* spm. 9. */ proc genmod descending; class hair eyes fregner akutrea kronrea sex; model casecon= hudfarve hair eyes fregner akutrea kronrea sex/dist=bin type3; run; proc genmod descending; class hudfarve hair eyes akutrea kronrea sex; model casecon= hudfarve hair eyes fregner akutrea kronrea sex/dist=bin type3; run; /* spm. 10. */ proc genmod descending; class fregner; model casecon= fregner /dist=bin type3; estimate 'fregner: nogle vs. ingen' fregner 0 1 -1/exp; estimate 'fregner: mange vs. ingen' fregner 1 0 -1/exp; run; proc genmod descending; model casecon= fregner /dist=bin type3; run; /* spm. 11. */ proc genmod descending; class nynaevi fregner; model casecon= nynaevi fregner/dist=bin type3; estimate 'fregner: nogle vs. ingen' fregner 0 1 -1/exp; estimate 'fregner: mange vs. ingen' fregner 1 0 -1/exp; estimate 'nævi: 1 vs. 0' nynaevi -1 1 0 0/exp; estimate 'nævi: 2-4 vs. 0' nynaevi -1 0 1 0/exp; estimate 'nævi: 5+ vs. 0' nynaevi -1 0 0 1/exp; run; proc genmod descending; class nynaevi fregner; model casecon= nynaevi fregner nynaevi*fregner/dist=bin type3; run; proc genmod descending; class nynaevi fregner; model casecon= nynaevi nynaevi*fregner/dist=bin type3; estimate 'naevi=0, mange vs. ingen' nynaevi*fregner 1 0 -1 0 0 0 0 0 0 0 0 0 /exp; estimate 'naevi=0, nogle vs. ingen' nynaevi*fregner 0 1 -1 0 0 0 0 0 0 0 0 0 /exp; estimate 'naevi=1, mange vs. ingen' nynaevi*fregner 0 0 0 1 0 -1 0 0 0 0 0 0 /exp; estimate 'naevi=1, nogle vs. ingen' nynaevi*fregner 0 0 0 0 1 -1 0 0 0 0 0 0 /exp; estimate 'naevi=2-4, mange vs. ingen' nynaevi*fregner 0 0 0 0 0 0 1 0 -1 0 0 0 /exp; estimate 'naevi=2-4, nogle vs. ingen' nynaevi*fregner 0 0 0 0 0 0 0 1 -1 0 0 0 /exp; estimate 'naevi=5+, mange vs. ingen' nynaevi*fregner 0 0 0 0 0 0 0 0 0 1 0 -1 /exp; estimate 'naevi=5+, nogle vs. ingen' nynaevi*fregner 0 0 0 0 0 0 0 0 0 0 1 -1 /exp; run; proc genmod descending; class nynaevi fregner; model casecon= nynaevi*fregner/dist=bin type3; estimate 'naevi=0, fregner=1 vs. ref.' nynaevi*fregner 1 0 -1 0 0 0 0 0 0 0 0 0 /exp; estimate 'naevi=0, fregner=2 vs. ref.' nynaevi*fregner 0 1 -1 0 0 0 0 0 0 0 0 0 /exp; estimate 'naevi=1, fregner=1 vs. ref.' nynaevi*fregner 0 0 -1 1 0 0 0 0 0 0 0 0 /exp; estimate 'naevi=1, fregner=2 vs. ref.' nynaevi*fregner 0 0 -1 0 1 0 0 0 0 0 0 0 /exp; estimate 'naevi=1, fregner=3 vs. ref.' nynaevi*fregner 0 0 -1 0 0 1 0 0 0 0 0 0 /exp; estimate 'naevi=2-4, fregner=1 vs. ref.' nynaevi*fregner 0 0 -1 0 0 0 1 0 0 0 0 0 /exp; estimate 'naevi=2-4, fregner=2 vs. ref.' nynaevi*fregner 0 0 -1 0 0 0 0 1 0 0 0 0 /exp; estimate 'naevi=1, fregner=3 vs. ref.' nynaevi*fregner 0 0 -1 0 0 0 0 0 1 0 0 0 /exp; estimate 'naevi=1, fregner=1 vs. ref.' nynaevi*fregner 0 0 -1 0 0 0 0 0 0 1 0 0 /exp; estimate 'naevi=5+, fregner=2 vs. ref.' nynaevi*fregner 0 0 -1 0 0 0 0 0 0 0 1 0 /exp; estimate 'naevi=5+, fregner=3 vs. ref.' nynaevi*fregner 0 0 -1 0 0 0 0 0 0 0 0 1 /exp; run;