楼主: kermit1209
2103 1

[求助] sas用merge语句合并两个表,使后一个表的变量只更新有效值而不更新缺失值 [推广有奖]

  • 0关注
  • 0粉丝

本科生

56%

还不是VIP/贵宾

-

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

楼主
kermit1209 学生认证  发表于 2015-1-26 14:29:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
像下面的两个表
data a;
input  x y;
cards;
1 3
2 6
3 .
;run;
data b;
input x y;
cards;
1 .
2 .
3 9
;
run;
两个表合并得到如下的数据
x  y
1  3
2  6
3  9
...
不是单纯的merge,merge会将缺失值更新到表中。。。

二维码

扫码加我 拉你入群

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

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

关键词:Merge 缺失值 有效值 cards Input

沙发
downdown121 发表于 2015-1-27 10:52:09
如果都是数值,且不缺失的字段值都一样,且数据集观测数也一样的话,可以试试取max。
也可以用if,适用与字符型
data test(keep=x y x_ y_);
set a(rename=(x=x1 y=y1));
set b(rename=(x=x2 y=y2));
x=max(x1,x2);
y=max(y1,y2);

if x1=. then x_=x2;else x_=x1;
if y1=. then y_=y2;else y_=y1;
run;

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-29 04:21