全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3592 6
2009-05-24

就像sum求和一样,想求分类乘积,不知道如何实现。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-5-24 11:37:00

oh, this is simple problem ,you can process your self

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-25 11:54:00
proc sql;select (sum((x=0)))*exp(count(*)*avg(log(x))) as productX from dset(where=(x^=.));quit;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-25 12:22:00

希望能正面回答别人的提问,别人不懂才问的,不管在你看来是否所谓的真简单。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-25 17:44:00

LZ,下面一下思路,请参考——注意:由于ln(ab)=ln(a)+ln(b),因此可将原数据取对数后再分类求和,然后再求出分类积,程序示意如下:

 data a;

 input x c @@;

 y=log(x);

cards;

2 1 3 1 4 1 5 2 6 2 7 2

;

proc means sum;

 class c;

 var y;

run;

运行结果如下:

                                             The SAS System           16:56 Tuesday, May 25, 2009  15

                                       The MEANS Procedure

                                      Analysis Variable : y

                                                 N
                                          c    Obs             Sum
                               -----------------------------------
                                          1      3       3.1780538

                                          2      3       5.3471075
                               -----------------------------------

然后,可以很容易地用 exp(3.1780538)=24, exp(5.3471075)=210 ,这就是 LZ 所需要的分类乘积结果。谢谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-25 21:38:00

data dset;

dset;

input x c;

cards;

-1 1

-2 1

. 1

-2.5 2

0 2

;

;

-1 1

-2 1

. 1

-2.5 2

0 2

;

proc sql;

select (-1)**sum((x<0&^missing(x)))*(sum((x=0))=0)*exp(sum(^missing(x))*avg(log(abs(x)))) as productX

from dset group by c;

sql;

select (-1)**sum((x<0&^missing(x)))*(sum((x=0))=0)*exp(sum(^missing(x))*avg(log(abs(x)))) as productX

from dset group by c;

select (-1)**sum((x<0&^missing(x)))*(sum((x=0))=0)*exp(sum(^missing(x))*avg(log(abs(x)))) as productX

from dset group by c;

from dset group by c;

quit;

;

*just for fun;

*楼上的没有考虑0和负数 的情况;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群