全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4400 7
2008-08-17
The following SAS program is submitted:
data work.empsalary;
set work.people (in = inemp)
work.money (in = insal);
if insal and inemp;
run;
The SAS data set WORK.PEOPLE has 5 observations, and the data set
WORK.MONEY has 7 observations.
How many observations will the data set WORK.EMPSALARY contain?
A. 0
B. 5
C. 7
D. 12
Answer: A

答案为啥是A呢?能不能帮忙解释一下
二维码

扫码加我 拉你入群

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

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

全部回复
2008-8-17 15:05:00
IN=*** 这个选项用来创建和命名一个变量,其取值指示当前观测从哪个数据集得到。
set work.people (in = inemp)
work.money (in = insal);
这个语句说明,在读取数据时,
当该观测来自work.people时,inemp 值为1,否则为0,
当该观测来自work.money时,insal值为1,否则为0。
这样每读取一个观测都会对 inemp 和insal赋值。
读取这个观测后, if insal and inemp; 这个语句决定了这个观测是否被写入到新的数据集中。
可见 insal 和inemp不可能同时为1, 即所有观测都不被写入。

[em01]
二维码

扫码加我 拉你入群

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

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

2008-8-17 23:42:00
为何不能同时等于1呢?如果这两个data set 含有相同的variable 的时候,他们不是就有共同的variable了吗?这样新的data set里面不是就有observation了吗 谢谢
二维码

扫码加我 拉你入群

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

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

2008-8-18 07:25:00
I think this code short one line of BY VAR. Such as:

Set work.a (in = f1) work.b (in = f2);
By common_variable;
if  ..................

Without BY VAR, the result will be zero observation.

Good luck on your study !
二维码

扫码加我 拉你入群

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

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

2008-8-18 08:40:00
我说的 是观测啊。。。
你认为 变量和观测是一回事么?
建议你自己用set语句做几个程序就知道了。
二维码

扫码加我 拉你入群

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

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

2008-8-19 04:32:00
I have tried the code with BY VAR, it works like normal merge.

Without BY VAR statement, it works just like what rain958 have said.

Or you can just choose the answer by normal sense. First, it cannot be 7 or 12 for sure. 5 only correct when all the 5 obs from fist data set is included in the second one, that is not true. Therefore, 0 obs make more sense.
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群