全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4819 3
2015-05-30
有如下程序:     data survey;     input x y z;
     if x=y then output;
         x=y+z ;
     a=x**2;
         cards;
1  1   3
2  3   3
;
proc print;
run;
大牛们麻烦看看OUTPUT在这里是什么含义呢?是不是只有x=y的观测才被写入数据集呢?



二维码

扫码加我 拉你入群

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

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

全部回复
2015-5-30 07:19:31
是的 只有113 會output, 之後2個運算都不會被output, x 是本身value, a是missing
二维码

扫码加我 拉你入群

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

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

2015-5-30 07:56:53
dgabbana 发表于 2015-5-30 07:19
是的 只有113 會output, 之後2個運算都不會被output, x 是本身value, a是missing
我理解的是DATA步中默认的变量都会OUTPUT,但是如果有OUTPUT语句时,会改变默认,只把符合条件的观测写入数据集中,这样理解对吗
二维码

扫码加我 拉你入群

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

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

2015-5-30 08:07:41
xt_jane 发表于 2015-5-30 07:56
我理解的是DATA步中默认的变量都会OUTPUT,但是如果有OUTPUT语句时,会改变默认,只把符合条件的观测写入 ...
不正確,符合條件才 output 是if statement 決定的,和output 沒有關係。你試試改成 if x=y; 結果還是只有第一個observation,但是注意 x, a 的變化
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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