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
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.