楼主: fyp198744
2479 14

如何插入需要补全的值? [推广有奖]

  • 0关注
  • 1粉丝

讲师

2%

还不是VIP/贵宾

-

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

楼主
fyp198744 发表于 2016-8-26 15:39:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
kindvalueAEBODSYSAEDECOD

1

104

4

218

1

2

Blood and lymphatic system disorders

4

5

Blood and lymphatic system disorders

4

4

Blood and lymphatic system disordersAnaemia

1

1

Blood and lymphatic system disordersHypochromic anaemia

1

1

Blood and lymphatic system disordersLeukocytosis

4

1

Blood and lymphatic system disordersMonocytosis

1

4

Cardiac disorders

4

6

Cardiac disorders

4

1

Cardiac disordersAcute myocardial infarction

4

1

Cardiac disordersAngina unstable

4

1

Cardiac disordersAtrial fibrillation

4

1

Cardiac disordersAtrioventricular block

4

1

Cardiac disordersCardiac failure

1

2

Cardiac disordersCoronary artery disease

1

1

Cardiac disordersCoronary artery insufficiency

4

2

Congenital, familial and genetic disorders

1

1

Congenital, familial and genetic disordersType IV hyperlipidaemia

4

1

Congenital, familial and genetic disordersType V hyperlipidaemia
我希望补全成
kindvalueAEBODSYSAEDECOD

1

104

4

218

1

2

Blood and lymphatic system disorders

4

5

Blood and lymphatic system disorders

1

0

Blood and lymphatic system disordersAnaemia

4

4

Blood and lymphatic system disordersAnaemia

1

1

Blood and lymphatic system disordersHypochromic anaemia

4

0

Blood and lymphatic system disordersHypochromic anaemia

1

1

Blood and lymphatic system disordersLeukocytosis

4

1

Blood and lymphatic system disordersMonocytosis

1

4

Cardiac disorders

4

6

Cardiac disorders

1

0

Cardiac disordersAcute myocardial infarction

4

1

Cardiac disordersAcute myocardial infarction

1

0

Cardiac disordersAngina unstable

4

1

Cardiac disordersAngina unstable

1

0

Cardiac disordersAtrial fibrillation

4

1

Cardiac disordersAtrial fibrillation

1

0

Cardiac disordersAtrioventricular block

4

1

Cardiac disordersAtrioventricular block

1

0

Cardiac disordersCardiac failure

4

1

Cardiac disordersCardiac failure

1

2

Cardiac disordersCoronary artery disease

4

0

Cardiac disordersCoronary artery disease

1

1

Cardiac disordersCoronary artery insufficiency

4

0

Cardiac disordersCoronary artery insufficiency

1

0

Congenital, familial and genetic disorders

4

2

Congenital, familial and genetic disorders

1

0

Congenital, familial and genetic disordersType IV hyperlipidaemia

4

1

Congenital, familial and genetic disordersType IV hyperlipidaemia

1

0

Congenital, familial and genetic disordersType V hyperlipidaemia

4

1

Congenital, familial and genetic disordersType V hyperlipidaemia

就是每个AEDECOD或者AEBODSYS都有1,4两种kind;

有什么办法吗?
二维码

扫码加我 拉你入群

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

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

关键词:Sufficiency Unstable Genetic disease Failure system 如何

沙发
独木者 发表于 2016-8-26 16:12:18
提供一种可能的思路,不知道对不?
1.对原始数据集raw数据集sort by kind aebodsys aedecod nodupkey out=a;
2.建一个temp数据集(aebodsys aedecod为nodupkey的值):do kind=1,4;do aebodsys=  ;aedecod= ;
3.merge raw temp;by kind aebodsys aedecod;
4.将value为空的值的row去掉

藤椅
wwang111 发表于 2016-8-26 16:25:32
AEBODSYS='Blood and lymphatic system disorders', AEDECOD='Leukocytosis' 或 'Monocytosis'的时候,需不需要补?

就是补一条Leukocytosis的kind=4 和 Monocytosis的kind=1的?

板凳
fyp198744 发表于 2016-8-26 16:36:10
wwang111 发表于 2016-8-26 16:25
AEBODSYS='Blood and lymphatic system disorders', AEDECOD='Leukocytosis' 或 'Monocytosis'的时候,需不 ...
要补的,这个是我疏忽了,简单来说,凡是出现过的记录,都得有1、4两条记录!

报纸
wwang111 发表于 2016-8-26 16:40:41
试试这个:

proc sql;
create table needcomp as
select distinct aebodsys, aedecod, kind
from test
group by 1,2
having count(*)=1;
quit;

data comp;
set needcomp;
if kind=4 then kind=1;
else if kind=1 then kind=4;
value=0;
run;

data newdata;
set test comp;
run;

proc sort data=newdata;
by aebodsys aedecod kind;
run;

地板
fyp198744 发表于 2016-8-28 07:03:16
wwang111 发表于 2016-8-26 16:40
试试这个:

proc sql;
我突然想到一种很另类的方法:
proc trance data=origin out=mid:
    by AEBODSYS   AEDECOD;
    var  value;
    id kind;
run;
data need;
    set mid(drop=_4 rename=(_1=vall));
    kind=1;
    set mid(drop=_1 rename=(_4=val));
    kind=4;
run;
是不是很巧妙?

7
wwang111 发表于 2016-8-28 20:26:03
这个方法没问题,只是你的代码错误太多,我给你改了一下。
transpose过程用到by的时候需要对by的变量先排序,如果原数据集的顺序不需要重新排列,那么可以加一个notsorted.

proc transpose data=origin out=mid(drop=_name_);
    by AEBODSYS AEDECOD notsorted;
    var  value;
    id kind;
run;

data need;
    set mid(in=a drop=_4 rename=(_1=value))
     mid(in=b drop=_1 rename=(_4=value));
         if a then kind=1;
         else if b then kind=4;
         if value =. then value=0;
run;

proc sort data=need;
by aebodsys aedecod kind;
run;

8
fyp198744 发表于 2016-8-29 08:54:46
wwang111 发表于 2016-8-28 20:26
这个方法没问题,只是你的代码错误太多,我给你改了一下。
transpose过程用到by的时候需要对by的变量先排序 ...
好的。谢谢!

9
linshuhe123 发表于 2016-9-7 16:21:47
fyp198744 发表于 2016-8-28 07:03
我突然想到一种很另类的方法:
proc trance data=origin out=mid:
    by AEBODSYS   AEDECOD;
proc trance   是什么样的过程不,实现什么效果呀,还没见过呢

10
fyp198744 发表于 2016-9-8 13:07:50
linshuhe123 发表于 2016-9-7 16:21
proc trance   是什么样的过程不,实现什么效果呀,还没见过呢
就是转置!

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

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