楼主: scarfacetony
987 4

[问答] 求助一个题~ [推广有奖]

  • 2关注
  • 2粉丝

已卖:182份资源

讲师

83%

还不是VIP/贵宾

-

TA的文库  其他...

从零开始

数据分析书籍资料

他山之石

威望
0
论坛币
3204 个
通用积分
10.4430
学术水平
12 点
热心指数
13 点
信用等级
13 点
经验
35345 点
帖子
254
精华
0
在线时间
829 小时
注册时间
2012-2-16
最后登录
2020-2-26

楼主
scarfacetony 发表于 2013-3-28 17:23:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data e;
        input a $ b;
        if b=. then c='unknown';
        else if b=1 then c='low';
        else if b=2 or 3 then c='medium';
        else c='high';
        cards;
frank 1
joan 2
sui 2
jose 3
burt 4
kelly .
juan 5
;
run;

求助这个程序,第五行由于or后面缺少了 b=,怎么就影响到了         else c='high'; 这个语句了呢。

二维码

扫码加我 拉你入群

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

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

关键词:UNKNOWN Medium Input Frank Kelly medium frank 五行 程序 影响

看了这个视频,我于是有了进股市的信心!
https://bbs.pinggu.org/thread-2787427-1-1.html

沙发
zhengbo8 发表于 2013-3-28 17:43:51
若有b=
当b为缺失值时,c='unknown'
当b为不是缺失值时,
   b为1时,c='low'
   b为2和3时,c='medium'
   b为其他值时,c='high'


若没有b=
当b为缺失值时,c='unknown'
当b为不是缺失值时,
   b为1时,c='low'
   b为除1之外的值时,c='medium'   

data e;
        input a $ b;
        if b=. then c='unknown';
        else if b=1 then c='low';
        else if b=2 or 3 then c='medium';      
        else c='high';
       /* 由于SAS中没有elseif分句,这是else+一个完整的if语句
            若没有b=,则
else c='high';没有机会被执行
      */
        cards;
frank 1
joan 2
sui 2
jose 3
burt 4
kelly .
juan 5
;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
scarfacetony + 1 + 1 + 1 多谢指点

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
scarfacetony 发表于 2013-3-28 17:53:51
多谢楼上指点
看了这个视频,我于是有了进股市的信心!
https://bbs.pinggu.org/thread-2787427-1-1.html

板凳
pobel 在职认证  发表于 2013-3-29 08:51:54
楼主,此题关键点不在最后一句else有没有‘b=’,而在于前面的一句
“else if b=2 or 3 then c='medium';”
这句中的条件有两个:“b=2” 和 “3”。 前面的条件只有在b的值是2时为真;而后面的“3”跟变量b是没有关系的,也就是说这个条件永远都是真的。
换句话说,这句过后,就不会在有“else”的情况了,因此“else c='high';”这句永远没有机会执行。

楼主可以将这句改为:
else if b=2 or b=3 then c='medium';
或者:
else if b in (2, 3) then c='medium';
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
scarfacetony + 1 + 1 + 1 多谢大神指点

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

和谐拯救危机

报纸
scarfacetony 发表于 2013-3-29 10:39:28
pobel 发表于 2013-3-29 08:51
楼主,此题关键点不在最后一句else有没有‘b=’,而在于前面的一句
“else if b=2 or 3 then c='medium';” ...
前面的条件只有在b的值是2时为真;而后面的“3”跟变量b是没有关系的,也就是说这个条件永远都是真的。
————————————————————————
这个解释很重要
看了这个视频,我于是有了进股市的信心!
https://bbs.pinggu.org/thread-2787427-1-1.html

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 08:01