SAS中文论坛

标题: 请教一个关于tabulate的问题 [打印本页]

作者: shiyiming    时间: 2010-7-5 15:27
标题: 请教一个关于tabulate的问题
[color=#BF00FF:1umatkal][size=150:1umatkal]请问,我在tabulate里面输出了两列sum,a列和b列,

然后我想生成一列c列,要求c=a/b的百分比,请问这个如何可以做到?

proc tabulate data=sample;
class x;
var a b;
table x, a*sum b*sum;
run;

我想要生成c列,该如何写呢?

ps:顺便问一下其他运算(比如:加减乘)是否也可以做?

谢谢!


[/size:1umatkal][/color:1umatkal]
作者: shiyiming    时间: 2010-7-6 20:26
标题: Re: 请教一个关于tabulate的问题
data crackman;
input x a b;
c=a/b;
datalines;
1 3 4
1 4 5
2 3 4
2 4 5
3 4 8
3 9 8
;
run;
proc tabulate data=crackman;
class x;
var a b c;
table x,a*sum b*sum c*sum;
run;
这个不失为一种方法
作者: shiyiming    时间: 2010-7-12 16:13
标题: Re: 请教一个关于tabulate的问题
[size=150:2btknvs0][color=#BF00FF:2btknvs0]谢谢楼上啊,不过我所说的c=a/b其实用到tabulate里面汇总的时候就是 a*sum/b*sum

所以根据你的数据集,当x=1的时候得到的汇总值c应该为7/9

而你的方法做出来貌似是31/20


[/color:2btknvs0][/size:2btknvs0]
作者: shiyiming    时间: 2010-7-14 09:05
标题: Re: 请教一个关于tabulate的问题
to crackman
借花献佛了,代码修改了一下

data crackman;
input x a b;
datalines;
1 3 4
1 4 5
2 3 4
2 4 5
3 4 8
3 9 8
;
run;
proc tabulate data=crackman;
class x;
var a b;
table x,a*sum  b*sum a='c'*pctsum<b>;
keylabel pctsum='a/b';
run;
作者: shiyiming    时间: 2010-7-15 19:16
标题: Re: 请教一个关于tabulate的问题
楼上的回复,正确
作者: shiyiming    时间: 2010-7-19 14:40
标题: Re: 请教一个关于tabulate的问题
[color=#BF00FF:1rqq97f8][size=150:1rqq97f8]感谢楼上诸位的帮助,尤其是saswhy,谢谢大家!

[/size:1rqq97f8][/color:1rqq97f8]




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2