kevin
2004-11-12 05:41:59 UTC
Hello,
I have a dataset as following;
Level id var1 var2
1 100 1 1
1 200 0 1
1 300 1 1
1 400 1 1
2 100 0 1
2 200 0 1
2 300 1 1
2 400 1 1
3 100 1 1
3 200 0 1
3 400 1 1
4 100 1 1
4 300 0 1
4 400 1 1
I'd like to use proc sql to make following table;
table cntvar
level id var1cnt var1cnt var2cnt varcnt varcntmean
1 xx
2 xx
3 xx
4 xx
1 100 xx xx xx xx
1 200 xx xx xx xx
...
4 400 xx xx xx xx
Proc sql;
Creat table cntvar as
Select level,
id,
count(var1) as var1cnt, /* here, count(var1where var1=1)*/
count(var2) as var2cnt, /* here, count(var2--where all of var2=1)*/
count(var1)/count(var2) as varcnt
group by level, id;
select mean(varcnt)as varcntmean
group by level;
run;
quit;
Here are the questions:
1. how to do count(var1) and count(var2) in the same time
2. can I achieve this -- varcnt and varcntmean in one table. Any suggestion.
Thanks,
I have a dataset as following;
Level id var1 var2
1 100 1 1
1 200 0 1
1 300 1 1
1 400 1 1
2 100 0 1
2 200 0 1
2 300 1 1
2 400 1 1
3 100 1 1
3 200 0 1
3 400 1 1
4 100 1 1
4 300 0 1
4 400 1 1
I'd like to use proc sql to make following table;
table cntvar
level id var1cnt var1cnt var2cnt varcnt varcntmean
1 xx
2 xx
3 xx
4 xx
1 100 xx xx xx xx
1 200 xx xx xx xx
...
4 400 xx xx xx xx
Proc sql;
Creat table cntvar as
Select level,
id,
count(var1) as var1cnt, /* here, count(var1where var1=1)*/
count(var2) as var2cnt, /* here, count(var2--where all of var2=1)*/
count(var1)/count(var2) as varcnt
group by level, id;
select mean(varcnt)as varcntmean
group by level;
run;
quit;
Here are the questions:
1. how to do count(var1) and count(var2) in the same time
2. can I achieve this -- varcnt and varcntmean in one table. Any suggestion.
Thanks,