楼主: dxystata
770 7

[问答] 如何实现2 [推广有奖]

版主

大师

34%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
182303 个
通用积分
15205.6089
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
291306 点
帖子
5378
精华
1
在线时间
13479 小时
注册时间
2006-6-21
最后登录
2024-4-28

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

10论坛币
  1. data aaa;
  2. input x$;
  3. cards;
  4. a
  5. b
  6. c
  7. ;
  8. run;

  9. data bbb;
  10. input y$;
  11. cards;
  12. d
  13. ;
  14. run;
复制代码
希望得到的数据集:
x y
a d
b d
c d

最佳答案

whymath 查看完整内容

data ccc; retain y; set aaa; if _N_ = 1 then set bbb; run;
关键词:如何实现 Input cards Data card
沙发
whymath 发表于 2021-4-2 13:24:34 |只看作者 |坛友微信交流群
data ccc;
  retain y;
  set aaa;
  if _N_ = 1 then set bbb;
run;
已有 1 人评分经验 热心指数 收起 理由
dxystata + 100 + 1 热心帮助其他会员

总评分: 经验 + 100  热心指数 + 1   查看全部评分

使用道具

藤椅
dxystata 发表于 2021-4-2 13:39:52 |只看作者 |坛友微信交流群
data步如何实现?

使用道具

板凳
zdl1225 发表于 2021-4-2 13:57:25 |只看作者 |坛友微信交流群
供参考:

/**方法1**/
data work.ccc1;
set work.aaa;
y="d";
run;


/**方法2**/
proc sql;
create table work.ccc2 as
select *
from work.aaa ,work.bbb;
quit;

已有 2 人评分经验 热心指数 收起 理由
eijuhz + 20 精彩帖子
dxystata + 100 + 1 热心帮助其他会员

总评分: 经验 + 120  热心指数 + 1   查看全部评分

使用道具

报纸
dxystata 发表于 2021-4-7 09:22:59 |只看作者 |坛友微信交流群
whymath 发表于 2021-4-4 12:11
data ccc;
  retain y;
  set aaa;
data ccc;
  set aaa;
  retain y;
  if _N_ = 1 then set bbb;
run;

这样是不是更好!

使用道具

地板
whymath 发表于 2021-4-7 19:36:39 |只看作者 |坛友微信交流群
dxystata 发表于 2021-4-7 09:22
data ccc;
  set aaa;
  retain y;
是的,这样更好。

使用道具

7
dxystata 发表于 2021-4-10 10:37:44 |只看作者 |坛友微信交流群
whymath 发表于 2021-4-7 19:36
是的,这样更好。
能否解释下retain的用法?谢谢!

使用道具

8
whymath 发表于 2021-4-11 18:23:25 |只看作者 |坛友微信交流群
dxystata 发表于 2021-4-10 10:37
能否解释下retain的用法?谢谢!
SAS默认按行读取、处理和输出数据。当处理并输出完一行数据后,先将变量全部置为缺失,然后再处理下一行数据。retain语句取消了“先将变量全部置为缺失”这一步,这样,前一行得到的值在后面的记录会被保留下来。

使用道具

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

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

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

GMT+8, 2024-4-28 15:19