楼主: ybhk
2773 6

[程序分享] SAS base 70中的一道题,求解 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

2%

还不是VIP/贵宾

-

威望
0
论坛币
39 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1115 点
帖子
84
精华
0
在线时间
94 小时
注册时间
2012-6-2
最后登录
2017-10-22

楼主
ybhk 发表于 2015-11-17 21:36:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
SAS base 70中的一道题,
data test;
if age not in (15,16) then g=1;
else g=2;
input age @@;
cards;
14 15 16 17
;
run;

为什么g 都等于1 ?去掉not 所有g 都等于2?
二维码

扫码加我 拉你入群

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

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

关键词:SAS base Base Input cards Data 程序

沙发
statslife 发表于 2015-11-17 21:45:36
你顺序都搞错了,应该是:
data test;
input age @@;
if age not in (15,16) then g=1;
else g=2;
cards;
14 15 16 17
;
run;

藤椅
木叶知秋 发表于 2015-11-17 22:42:56
因为age还未赋值的时候为空值 每读一行结束后 由于没有retain age又会被置为空值
你可以在if前面加一个put age看下age当前的值
也可以加一个retain age看下区别

板凳
ybhk 发表于 2015-11-18 14:41:16
木叶知秋 发表于 2015-11-17 22:42
因为age还未赋值的时候为空值 每读一行结束后 由于没有retain age又会被置为空值
你可以在if前面加一个pu ...
非常感谢

报纸
feng_2long 发表于 2015-11-19 09:55:27
题目错了吧? 为何我在70里找不到这个题

地板
ybhk 发表于 2015-11-20 15:14:20
feng_2long 发表于 2015-11-19 09:55
题目错了吧? 为何我在70里找不到这个题
61.Consider the data step:
data WORK.TEST;
   infile 'c:\class1.csv' dsd;
   input Name $ Sex $ Age Height Weight;
   if Age NE 16 and Age NE 15 then Group=1;
   else Group=2;
run;
Which statement produces a functionally equivalent result for assigning Group a value?
     A. if Age not in(15,16) then Group=1;  else Group=2;
     B. if (Age NE 16) or (Age NE 15) then Group=1;  else Group=2;
     C. where Age not between 15 and 16 then Group=1; else Group=2;
     D. both A or C will work.

7
8112mmw 发表于 2015-11-23 09:08:57
的确是顺序错了,先input,然后在赋值

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 11:26