楼主: CDA111627
641 5

[SAS EM] sas程序求助 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

50%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
2
精华
0
在线时间
9 小时
注册时间
2021-9-3
最后登录
2022-5-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助大佬,这样的sas程序咋写呀?
想要把5个变量合并成一个,满足其中两个条件就行,怎么合并呀?
比如:a1>20  a2 >30 a3 <70 a4<3 a5 >90 满足其中两个则a6=1 ,否则a6=0
垃圾学术狗在线求帮助,请各位大佬不吝赐教
二维码

扫码加我 拉你入群

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

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

关键词:sas程序 变量合并 sas

沙发
whymath 发表于 2021-10-11 21:57:03 |只看作者 |坛友微信交流群
利用布尔运算就可以让情况变得简单:
  1. if (a1>20) + (a2>30) + (a3<70) + (a4<3) + (a5>90) > 1 then a6 = 1;
  2. else a6 = 0;
复制代码

甚至赋值也利用布尔运算:
  1. a6 = (1 < (a1>20) + (a2>30) + (a3<70) + (a4<3) + (a5>90));
复制代码

使用道具

藤椅
pobel 在职认证  发表于 2021-10-12 08:29:01 |只看作者 |坛友微信交流群
if sum(a1>20,a2>30,.<a3<70,.<a4<3,a5>90)>=2 then a6=1;else a6=0;

使用道具

板凳
huangtiancheng 在职认证  发表于 2021-10-15 14:05:25 |只看作者 |坛友微信交流群

楼上已经写好了代码,我稍微给解释一下:

data _null_;
 if sum(a1>20,a2>30,a3 <70,a4<3,a5>90)=2 then a6=1
 else a6=0;
run;

这里主要就是用sum函数进行求和,该函数括号内个逗号隔开的就是参数,这里使用表达式作为参数,当表示式为真时,参数值为1,否则为0.

使用道具

报纸
soporaeternus 发表于 2021-10-18 14:15:40 |只看作者 |坛友微信交流群
pobel 发表于 2021-10-12 08:29
if sum(a1>20,a2>30,.
点个赞
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
pobel + 5 + 5 + 5 + 5 鼓励积极发帖讨论

总评分: 论坛币 + 5  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 08:53