请选择 进入手机版 | 继续访问电脑版
楼主: 90poiu
1631 2

[实际应用] sas如何整合多个变量生成新变量 [推广有奖]

  • 0关注
  • 0粉丝

初中生

47%

还不是VIP/贵宾

-

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

90poiu 发表于 2019-4-10 11:56:48 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求问大家这么个问题,现在想用sas做一个分析,有几个变量,“drug-1”, “drug-2”,“drug-3”,“drug-4”,数值均为(0,1),0为未使用该药,1为使用该药品,现在想重新编程得到一个新的变量“new-drug-dose”使得drug-1=1,new-drug-dose=1。 drug-1和drug-2同为1,或者drug-1和drug-3同为1时,也可理解为drug 1+2 或1+3,new-drug-dose=2。

当drug-1,drug-2,drug-3 同时为1,或者drug-1,drug-2,drug-4 同时为1时,即drug 1+2+3 或1+2+4时,new-drug-dose=3。

比如:
drug-1 drug-2 drug-3 drug-4
001 1 0 0 0
002 1 0 1 0
003 1 1 0 1
004 0 0 0 0


返回得到:
new-drug-dose
001 1
002 2
003 3
004 .


用if then判断写了半天好像也没理顺,而且返回的值一直有问题,求问有什么好方法可以得到这个新变量?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:新变量 sas 数据

l1i2n3i4n5g 在职认证  发表于 2019-4-11 11:35:41 |显示全部楼层 |坛友微信交流群
data test;
   input id $ drug_1 drug_2 drug_3 drug_4;
cards;
001 1 0 0 0
002 1 0 1 0
003 1 1 0 1
004 0 0 0 0
;
run;

data want;
   set test;
   tmp=cats(of drug_:);
   if tmp in (1110 1101) then new_drug_dose=3;
   else if tmp in(1100 1010) then new_drug_dose=2;
   else if tmp in(1000) then new_drug_dose=1;
   else call missing(new_drug_dose);
   drop tmp;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
小明12345 + 1 + 1 + 1 精彩帖子

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

使用道具

90poiu 发表于 2019-4-20 00:09:44 |显示全部楼层 |坛友微信交流群
l1i2n3i4n5g 发表于 2019-4-11 11:35
data test;
   input id $ drug_1 drug_2 drug_3 drug_4;
cards;
非常感谢!!

使用道具

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

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

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

GMT+8, 2024-3-29 17:41