options nocenter ls=72; *** generate some data for the example ***; *** real data would go here ***; data a; do i=1 to 1000; a=normal(0); x1=a+normal(0); x2=a+normal(0); y=a+normal(0); output; end; run; *** perform the regression analyses, writing out parameter estimates and standard errors.; proc reg outest=b outseb;model y=x1 x2; run; quit; *** trim the output dataset, retaining only the b-weights and standard errors. Intercepts could be retained as well by "keeping" the variable "intercep" (check the proc print without the keep statement to be sure of all variable names).; data c;set b; keep x1 x2; run; *** Print it just to see how it looks at this stage. Notice that b-weights are the first row, and standard errors are the second row.; proc print;run; *** This step makes b-weights the first column, and standard errors the second column.; proc transpose data=c out=d; run; *** print it again at this stage to see if you like how it looks.; proc print;run; *** write the results out to a dataset for input to norm ***; data x;set d; file 'result1.dat';put col1 col2; run; *** Repeat this whole process for each imputed dataset ***; *** Results from several different PROC REG runs can be "stacked" for output. Simply repeat all the steps up through the PROC TRANSPOSE for each PROC REG run, specifying a different output dataset for PROC TRANSPOSE, e.g., d1, d2, d3, etc. Then in the final DATA step, simply SET all the transposed datasets together, e.g., see the following ***; data x;set d1 d2 d3 ... d10; file 'result1.dat';put col1 col2; run; *** Note that the PUT statement is always "col1" and "col2" no matter how many b-weights are included ***;