/* Converting data sets from "wide" to "long" format */ /* using PROC TRANSPOSE */ data widedata; input idnumber inc2000 inc2001 inc2002 inc2003 inc2004 inc2005 ; cards; 1 66483 69146 74643 79783 81710 86143 2 17510 17947 19484 20979 21268 22998 3 57947 62964 68717 70957 75198 75722 4 64831 71060 71918 72514 73100 74379 5 18904 19949 21335 22237 23829 23913 6 32057 34770 35834 37387 40899 42372 7 60551 64869 67983 70498 71253 75177 8 16553 18189 18349 19815 21739 22980 9 32611 33465 35961 36416 37183 40627 10 61379 66002 67936 70513 74405 76009 ; run ; proc transpose data=widedata out=longdata; by idnumber; run; data longdata; set longdata (rename=(col1=inc)); year=substr(_name_, 4); drop _name_; run; proc print data=longdata; title 'Income Data in Long Format'; run;