楼主: 随心如愿
963 3

[问答] 帮忙解读下这段程序吧! [推广有奖]

  • 1关注
  • 0粉丝

本科生

25%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
1004 点
帖子
69
精华
0
在线时间
69 小时
注册时间
2012-8-22
最后登录
2016-11-23

楼主
随心如愿 发表于 2013-10-12 18:58:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
sas是如何执行的呢?如果是先执行第一个set语句,然后执行第二个语句的话,x变量是被第二个set语句的覆盖了,但是问题是第二个set语句只有两个x呀,第一个set语句中的第三个x、Y值去哪里了呢?
data one;
input x y $;
cards;
1 groucho
3 harpo
5 kart
;
data two;
input x z$;
cards;
2 chico
4 zeppo
;
data three;
set one;
set two;
run;
proc print data=three;
run;

SAS 系统

Obsxyz
12grouchochico
24harpozeppo




二维码

扫码加我 拉你入群

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

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

关键词:Three Input cards print Data 去哪里 程序 如何

回帖推荐

PhoenixHuang 发表于3楼  查看完整内容

set one; set two的时候,有两个数据指针,他们同步前进,有一个结束就整个结束了,数据量取两者中的最小的那个,如果有相同变量,后来的那个覆盖前面那个。在这里因为第二个数据集只有两个数据,所以整个数据集也只有两个,第一个数据集的第三条数据实际上并没有读取到。 set one two;只有一个数据指针,先读完数据one,接着再读数据two, 类似把两个数据集堆叠起来的效果。

沙发
随心如愿 发表于 2013-10-12 19:04:36

RE: 帮忙解读下这段程序吧!

然后,为什么把set语句变成
set  one two;
之后输出结果就变成了

SAS 系统


Obs x y z
1 1 groucho   
2 3 harpo   
3 5 kart   
4 2   chico
5 4   zeppo

呢?

藤椅
PhoenixHuang 发表于 2013-10-12 19:16:29
set one; set two的时候,有两个数据指针,他们同步前进,有一个结束就整个结束了,数据量取两者中的最小的那个,如果有相同变量,后来的那个覆盖前面那个。在这里因为第二个数据集只有两个数据,所以整个数据集也只有两个,第一个数据集的第三条数据实际上并没有读取到。

set one two;只有一个数据指针,先读完数据one,接着再读数据two, 类似把两个数据集堆叠起来的效果。

板凳
妖帝东皇 发表于 2013-10-12 19:31:46
楼上讲的很对!
┏━━━━━━━━━━━━━━┓
   ☞❤学而无友必然孤陋寡闻!❤
┗━━━━━━━━━━━━━━┛

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

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