楼主: 胡克定律
6973 7

SAS条件求和 [推广有奖]

  • 3关注
  • 1粉丝

博士生

34%

还不是VIP/贵宾

-

威望
0
论坛币
89 个
通用积分
0
学术水平
5 点
热心指数
10 点
信用等级
1 点
经验
4279 点
帖子
257
精华
0
在线时间
261 小时
注册时间
2009-12-3
最后登录
2021-2-28

楼主
胡克定律 发表于 2013-5-12 04:08:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求助各位一个求和的问题~~>.<~~

SAS中有很多变量很多观测,变量中有正有负,对于每一个观测,我想求所正的变量的和以及所有负的变量的和,类似于excel中的sumif函数,请问要如何实现呢?

谢谢!!
二维码

扫码加我 拉你入群

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

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

关键词:条件求和

Happy~

沙发
yongyitian 发表于 2013-5-12 07:57:41
data test;
   array x x1-x8;
     do  i= 1 to 8;
     seed = 1000+i;
     x(i) = int(rannor(seed)*10);
     end;
   drop seed i;
run;

data result;
  array x x1-x8;
  set test;
  positive_sum=0;
  negative_sum=0;
  do i = 1 to dim(x);
       if x(i) >0 then  positive_sum + x(i);  
       if x(i) <0 then  negative_sum + x(i);  
  end;
  drop i;
run;

藤椅
ryuuzt 发表于 2013-5-12 09:13:35
yongyitian 发表于 2013-5-12 07:57
data test;
   array x x1-x8;
     do  i= 1 to 8;
谢谢,学习了。

板凳
playmore 发表于 2013-5-13 08:43:16
加个虚拟变量,指定变量大于0则等于1,否则等于0
然后用proc means求sum的时候加个by变量就好了
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

报纸
邓贵大 发表于 2013-5-13 10:26:01
I wish there were a sumif function too.
if just summing up by +/-, no new dummy variables necessary
To do it in PROC MEANS, define a format first
  1. picture sign
  2. low-<0='-'
  3. 0 = '0'
  4. 0<high='+'
  5. ;
复制代码
The same can be accomplished in PROC SQL with 'GROUP BY sign(x)', where x is the variable to be tallied.
Be still, my soul: the hour is hastening on
When we shall be forever with the Lord.
When disappointment, grief and fear are gone,
Sorrow forgot, love's purest joys restored.

地板
胡克定律 发表于 2013-5-13 15:40:28
yongyitian 发表于 2013-5-12 07:57
data test;
   array x x1-x8;
     do  i= 1 to 8;
谢谢!之前一直对数组操作不熟悉啊:P
Happy~

7
胡克定律 发表于 2013-5-13 15:42:18
playmore 发表于 2013-5-13 08:43
加个虚拟变量,指定变量大于0则等于1,否则等于0
然后用proc means求sum的时候加个by变量就好了
谢谢帮助~
如果是同一变量里的观测条件求和,的确可以这样用~:)
不过如果是对同一观测不同变量的条件求和这样就不行啦,而且由于后面程序需要,又不能transpose~
Happy~

8
gdyxylj 发表于 2016-8-9 11:36:25
很好,学习了!thx

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-21 08:40