Hi everyone,
How can I transform this dataset A dataset using proc transpose in * dataset:
A dataset
agex treat Sex COUNT count2
13-24 drug F 4 6
13-24 drug M 2 6
13-24 PLA F 2 6
13-24 PLA M 4 6
less than 13 drug F 2 4
less than 13 drug M 2 4
less than 13 PLA F 1 3
less than 13 PLA M 2 3
* dataset
Obs agex drugF drugM drugT PLAF PLAM plaT
1 13-24 4 2 6 2 4 6
2 less than 13 2 2 4 1 2 3
Thanks in advance.
V
how about:
data have;
input agex $20. treat $ Sex $ COUNT ;
cards;
13-24 drug F 4
13-24 drug M 2
13-24 PLA F 2
13-24 PLA M 4
less than 13 drug F 2
less than 13 drug M 2
less than 13 PLA F 1
less than 13 PLA M 2
;
run;
data temp;
set have;
length two $8;
two=cats(treat,sex);
run;
proc transpose data=temp out=want(drop=_:) ;
by agex;
var count;
id two;
run;
data want;
retain agex drugf drugm drugt plaf plam plat;
set want;
drugt=drugm+drugf;
plat=plam+plaf;
run;
proc print;run;
obs agex drugf drugm drugt plaf plam plat
1 13-24 4 2 6 2 4 6
2 less than 13 2 2 4 1 2 3
how about:
data have;
input agex $20. treat $ Sex $ COUNT ;
cards;
13-24 drug F 4
13-24 drug M 2
13-24 PLA F 2
13-24 PLA M 4
less than 13 drug F 2
less than 13 drug M 2
less than 13 PLA F 1
less than 13 PLA M 2
;
run;
data temp;
set have;
length two $8;
two=cats(treat,sex);
run;
proc transpose data=temp out=want(drop=_:) ;
by agex;
var count;
id two;
run;
data want;
retain agex drugf drugm drugt plaf plam plat;
set want;
drugt=drugm+drugf;
plat=plam+plaf;
run;
proc print;run;
obs agex drugf drugm drugt plaf plam plat
1 13-24 4 2 6 2 4 6
2 less than 13 2 2 4 1 2 3
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.