楼主: littlejay
2525 3

请教sas base的问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

45%

还不是VIP/贵宾

-

威望
0
论坛币
330 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
252 点
帖子
8
精华
0
在线时间
43 小时
注册时间
2010-3-14
最后登录
2011-6-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想请问一下下面的if条件语句是什么含义呢? 谢谢啦

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

扫码加我 拉你入群

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

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

关键词:SAS base Base People salary money 请教 SAS Base

回帖推荐

bobguy 发表于2楼  查看完整内容

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= ...

本帖被以下文库推荐

沙发
bobguy 发表于 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;
已有 2 人评分经验 论坛币 热心指数 收起 理由
bakoll + 3 + 3 精彩帖子
crackman + 1 精彩帖子

总评分: 经验 + 3  论坛币 + 3  热心指数 + 1   查看全部评分

使用道具

藤椅
crackman 发表于 2010-5-23 18:55:21 |只看作者 |坛友微信交流群
very good

使用道具

板凳
pobel 在职认证  发表于 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不会有任何记录。

使用道具

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

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

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

GMT+8, 2024-5-1 21:52