I have a very large data set (18 million observations) that I would like to transpose by subsetting based on one variable and creating 900 new variables out of those sub/ets. Example code and desired output format below: Example data:
data long1 ;
input famid year faminc ;
cards ;
var1 96 40000
var1 97 40500
var1 98 41000
var2 96 45000
var2 97 45400
var2 98 45800
var3 96 75000
var3 97 76000
var3 98 77000
;
run;
Code:
proc transpose data = data; by famid; var faminc; run;
Because of the size of my data set, I'm wondering if I have use a do loop to find first and last observations of each var and then iteratively subset. Does anyone know a sql or proc to achieve the desired output format?
proc transpose
work or how to do something more efficiently than sorting and proc transposing? – Joe