*********************************************************************** * This is a program that illustrates the use of PROC LOGISTIC in SAS * * to perform ordinal logistic regression. * * * * The sample data set is taken from the following article: * * Boyle RM, Chinchilli VM, Shasky DA. (1993). Masking of * * Physicians in the Growth Failure in Children with Renal Diseases * * Clinical Trial. Pediatric Nephrology 7, 204-206. * ***********************************************************************; proc format; value scorefmt -3='Incorrect_certain' -2='Incorrect_probable' -1='Incorrect_guess' 0='Unsure' 1='Correct_guess' 2='Correct_probable' 3='Correct_certain'; run; data gfrd; input center id months score trtgroup $; format score scorefmt.; label months='Months on Study'; cards; 1 1906 9 2 A 2 2901 9 1 B 3 3908 56 -1 B 3 3911 15 1 A 3 3919 9 1 B 4 4901 25 1 A 4 4912 12 1 B 4 4913 13 1 B 5 5901 0 0 A 5 5902 28 0 A 5 5905 2 0 B 6 6904 13 -2 A 6 6920 11 -2 A 6 6922 10 2 A 7 7905 29 -1 B 7 7910 39 1 A 7 7916 40 1 A 7 7919 23 1 A 7 7920 4 -1 B 7 7921 26 -1 B 7 7926 33 1 A 7 7927 30 1 A 7 7929 14 -1 B 7 7930 17 -1 B 7 7931 12 1 A 8 8904 18 -1 B 8 8905 30 -1 A 8 8909 9 1 B 8 8915 2 1 A 8 8917 5 -1 B 8 8918 2 -1 A 9 9901 45 -1 B 9 9903 54 1 A 9 9907 61 1 B 9 9908 28 -1 B 9 9918 31 1 A 9 9919 25 1 A 11 11901 21 -1 B 11 11905 47 -2 B 11 11906 15 -1 A 14 14902 14 -1 B 14 14907 0 1 B 14 14908 38 -1 A 14 14911 0 0 A 14 14912 36 1 B 14 14913 32 -1 A 14 14916 1 1 A 14 14917 7 1 A 16 16904 31 1 A 16 16905 34 1 A 16 16906 13 -1 B 18 18902 11 1 B 18 18904 8 1 B 21 21906 46 2 B 21 21910 14 -2 B 21 21912 6 2 A 21 21915 26 -2 A 21 21916 25 2 B 21 21917 26 -2 A 21 21918 26 -2 B 21 21919 19 2 A 21 21920 15 -2 A 21 21921 2 -2 B 21 21922 15 2 B 22 22901 26 1 A 22 22902 26 1 B 22 22903 26 1 A 22 22909 5 1 B 23 23901 31 -1 B 23 23903 7 1 B 24 24914 9 2 B 24 24917 22 -2 A 24 24918 6 1 A 24 24919 2 -2 B 26 26901 6 -2 B 26 26903 7 -2 A 27 27901 15 -1 A 27 27904 18 1 B 27 27905 3 -2 B 28 28901 7 2 A 28 28902 33 1 B 28 28904 4 1 A 28 28905 16 -2 B 30 30912 15 2 A 31 31901 1 1 A 31 31902 38 1 B 31 31903 31 -1 B 35 35901 6 0 A 35 35904 11 0 B 38 38907 4 0 A 41 41904 9 2 B 42 42901 2 1 A 42 42903 2 -1 B 42 42904 2 -1 B ; run; proc print data=gfrd; title 'GFRD Example'; run; data gfrd2; set gfrd; newscore=0; if score>0 then newscore=1; treatment=0; if trtgroup="A" then treatment=1; run; proc logistic data=gfrd2 order=internal descending; model newscore=treatment months; title2 'Logistic Regression of the Masking Score'; run;