全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2767 3
2010-05-23
想请问一下下面的if条件语句是什么含义呢? 谢谢啦

data work.empsalary;
set work.people (in=inemp)
work.money (in=insal);
if inemp and insal;
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2010-5-23 09:19:35
littlejay 发表于 2010-5-23 09:04
想请问一下下面的if条件语句是什么含义呢? 谢谢啦

data work.empsalary;
set work.people (in=inemp)
work.money (in=insal);
if inemp and insal;
run;
In this case it is the same as,

if inemp and insal ; = if inemp and insal then output ;

In other cases it could be different. Forexample,

data t1;
   do x=1 to 3;
       do x2=1 to 2;
          do obs=1 to 10;
           z=rannor(123);
          y= 1+ x*x2 +1*z+ rannor(7789);
          output;
          end;
        end;
    end;
run;

data t2;
  set t1;
  if  x=2;
  k=3;
run;

proc print; run;

data t2;
  set t1;
  if  x=2 then output;
  k=3;
run;

proc print; run;
二维码

扫码加我 拉你入群

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

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

2010-5-23 18:55:21
very good
二维码

扫码加我 拉你入群

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

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

2010-5-24 10:51:42
littlejay 发表于 2010-5-23 09:04
想请问一下下面的if条件语句是什么含义呢? 谢谢啦

data work.empsalary;
set work.people (in=inemp)
work.money (in=insal);
if inemp and insal;
run;
IN= dataset option 会在PDV中增加一个标记变量,当某一行中包含来自这个数据集中的变量时,此变量值为1,否则为0。

if inemp and insal; 相当于 if inemp=1 and insal=1;

因为这里SET两个数据集, SAS不会同时读两个数据集中的记录,所以inemp和insal不会同时为1,因此work.empsalary不会有任何记录。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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