全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1725 7
2012-03-05
有一组数据如下:
x     y
1     5.5
1     4
1     7
1     -5.5
1     -3
1      9
需要进行计数和求和,要得到的计数结果是3,也就是说绝对值相等的两行数据抵消,其他正数记1,求和无所谓。
谢谢解答!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-3-5 22:32:44
复制代码
土方法。。
二维码

扫码加我 拉你入群

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

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

2012-3-5 22:40:26
不得不说,SAS将简单问题复杂化,很***。SAS就是狗屎软件。
二维码

扫码加我 拉你入群

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

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

2012-3-5 22:48:34
先取绝对值,sort nodupkey一下,再计数。
二维码

扫码加我 拉你入群

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

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

2012-3-6 04:02:15
复制代码
My pc was very slow for this code. you can try it.
Jingju
二维码

扫码加我 拉你入群

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

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

2012-3-6 17:44:57
非常感谢各位的回复!
@freerunning_sky:土办法试过了很有效,但计数为4,我需要等于3,所以如下
data d;
set c;
if num < 0 then num = 0;
run;

proc summary data=d nway;
        class x;
        output out=e(drop=_type_ _freq_) sum(num)=num;
run;

@Jingju: 你的方法我还没试,先谢过!

写这个程序是为了解决一个实际中的问题,在一个公司的销售数据中有正营业额和负营业额,负的情况就是退货。退货有两种,全退和部分退。营业额的统计可以求和算出,但是销售的次数就要根据情况做个算法使得统计数据尽量真实,它会影响到平均的营业额。在全退的情况下,正负销售额都不算次数,部分退货时退货不算销售次数。因为无法辨别某个退货是某次销售的全退,还是另一次销售的部分退,所以确定的简单算法就是只要找到绝对值相同的那个退货就算全退,找不到就算部分退。复杂一点就要按日期顺序或者再跟货品数据联系起来确定。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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