Title1 "Salmonella Manhattan studie til illustration" ; libname data "..\data" ; options source2 ; %inc 'manhattan-input.sas' ; data manh ; set manh ; kontrol = ( pk eq "K" ) ; case = 1 - kontrol ; run ; proc contents data = manh ; run ; * Tabellering med par efter kodp ; &tab manh ; class parnr pk ; table parnr, pk / rts = 10 ; run ; proc sort data = manh ; by parnr kontrol ; run ; Title2 "Reduktion til 1:1 matched studie" ; data manh11 manh data.manh11 data.manh ; set manh ; by parnr ; enter = parnr ; exit = parnr + 1/3 + ( 1-case )/3 ; if ( first.parnr or last.parnr ) and not ( parnr in (10,22) ) then do ; output manh11 ; output data.manh11 ; end ; output manh ; output data.manh ; run ; proc print data = manh11 ; var parnr pk case kontrol hamb hamburg ; run ; &tab manh11 ; class parnr pk hamb hamburg filet kodpaal okskod svinkod ; table parnr hamb*hamburg filet kodpaal okskod svinkod, pk / rts = 10 ; run ; Title2 "Analyse 1:1 studiet med Cox-model" ; proc phreg data = manh11 ; model ( enter, exit ) * case ( 0 ) = hamb ; run ; proc phreg data = manh11 ; model kontrol * kontrol (1) = hamb / ties = discrete ; strata parnr ; run ; Title2 " Analyse med log-reg" ; data par ; set manh11 ( rename = ( sex = _sex alder = _alder okskod = _okskod svinkod = _svinkod kalvkod = _kalvkod lamkod = _lamkod fjerkod = _fjerkod kodpaal = _kodpaal hamburg = _hamburg filet = _filet rgtmbr = _rgtmbr eggret = _eggret ) ) ; by parnr ; retain sex alder h_case okskod svinkod kalvkod lamkod fjerkod kodpaal hamburg filet rgtmbr eggret ; keep sex alder h_case h_ktrl en okskod svinkod kalvkod lamkod fjerkod kodpaal hamburg filet rgtmbr eggret ; if first.parnr then do ; * Cases kovariater opbevares ; sex = ( _sex eq 'M' ) ; alder = _alder ; okskod = ( _okskod eq 'Y' ) ; svinkod = ( _svinkod eq 'Y' ) ; kalvkod = ( _kalvkod eq 'Y' ) ; lamkod = ( _lamkod eq 'Y' ) ; fjerkod = ( _fjerkod eq 'Y' ) ; kodpaal = ( _kodpaal eq 'Y' ) ; hamburg = ( _hamburg eq 'Y' ) ; filet = ( _filet eq 'Y' ) ; rgtmbr = ( _rgtmbr eq 'Y' ) ; eggret = ( _eggret eq 'Y' ) ; h_case = hamburg ; end ; if last.parnr then do ; * Kontrollernes kovariater subtraheres ; h_ktrl = ( _hamburg eq 'Y' ) ; sex = sex - ( _sex eq 'M' ) ; alder = alder - _alder ; okskod = okskod - ( _okskod eq 'Y' ) ; svinkod = svinkod - ( _svinkod eq 'Y' ) ; kalvkod = kalvkod - ( _kalvkod eq 'Y' ) ; lamkod = lamkod - ( _lamkod eq 'Y' ) ; fjerkod = fjerkod - ( _fjerkod eq 'Y' ) ; kodpaal = kodpaal - ( _kodpaal eq 'Y' ) ; hamburg = hamburg - ( _hamburg eq 'Y' ) ; filet = filet - ( _filet eq 'Y' ) ; rgtmbr = rgtmbr - ( _rgtmbr eq 'Y' ) ; eggret = eggret - ( _eggret eq 'Y' ) ; en = 1 ; output ; end ; run ; proc freq data = par ; table hamburg ; table h_case * h_ktrl / norow nocol nopercent agree ; run ; proc genmod data = par ; model en/en = hamburg / dist = b noint ; estimate "OR by LR" hamburg 1 / exp ; run ; data a ; do p = 0.001 to 0.999 by 0.0001 ; ptail = probbnml(p,6,1) ; or = p/(1-p) ; ior = 1/or ; output ; end ; run ; proc print data = a ; where ( abs(ptail-0.975) lt 0.0002 or abs(ptail-0.025) lt 0.0002 or abs(p-0.8) lt 0.0001 ) ; run ; Title2 "Analyse 1:m studiet med Cox-model" ; proc phreg data = manh ; model ( enter, exit ) * case ( 0 ) = hamb ; run ; proc phreg data = manh ; model kontrol * kontrol (1) = hamb / ties = discrete rl ; strata parnr ; run ; Title2 "Analyse 1:m studiet med proc logistic" ; proc logistic data = manh ; class parnr hamb(ref="0") ; model kontrol = hamb ; strata parnr ; run ;