楼主: dxystata
1496 3

[有偿编程] 如何替换 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-2

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2017-8-8 22:22:25 |AI写论文
20论坛币
复制代码
  1. data aaa;
  2. input SID$ VisitName$ xm$ value;
  3. cards;
  4. C001 V1   rbc 5.5
  5. C001 V1_1 rbc 5.0
  6. C001 V2   rbc 5.2
  7. C001 V3   rbc 4.5
  8. C001 V1   wbc 11
  9. C001 V1_1 wbc 9
  10. C001 V2   wbc 12
  11. C001 V2_1 wbc 8
  12. C001 V3   wbc 4.5
  13. C002 V1   rbc 4.2
  14. C002 V2   rbc 5.6
  15. C002 V2_1 rbc 3.9
  16. C002 V3   rbc 4.0
  17. ;
  18. run;
复制代码




rbc V1的值用V1_1的值替换
rbc V2的值用V2_1的值替换

wbc V1的值用V1_1的值替换
wbc V2的值用V2_1的值替换


指标比较多,如何批量替换?谢谢!

关键词:Data RBC

沙发
dxystata 发表于 2017-8-9 10:10:13
继续求助!

藤椅
popodan 在职认证  发表于 2017-8-9 12:58:56
这个题好玩

proc sort data=aaa out=bbb;
by sid xm descending VisitName ;
run;

data ccc;
set bbb;
if substr(strip(visitname),3,1)='_'
then a=value;
b=lag(a);
if b ne . then value=b;
drop a b;
run;


2017-08-09.png (177.08 KB)

2017-08-09.png

板凳
lvmuqu 发表于 2017-8-10 08:04:14
一个人的指标同一个访视有多个测量?可以用SQL并回去,并的条件视VisitName内容而定。

proc sql undo_policy=none;
        create table a as
                select a.*,b.value as value_1
                from aaa as a
                left join aaa(where=(index(VisitName,"_"))) as b
                on a.SID=b.SID and a.XM=b.XM and a.VIsitName=scan(b.VisitName,1,'_')
        ;
quit;
data a;
        set a;
        if ^missing(value_1) then value=value_1 ;
        drop value_1;
run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 07:04