楼主: 蓝娃
1051 2

[问答] SAS input 一段程序的输出结果异常请教 [推广有奖]

  • 1关注
  • 0粉丝

初中生

19%

还不是VIP/贵宾

-

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

楼主
蓝娃 发表于 2015-4-21 14:43:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
以下一段程序:
data group;
input a $ b $ c @17 d comma9.;
if d < 500000 then group = 'low';
   else if d < 2000000 then group = 'medium';
   else group = 'high';
datalines;
Y ID/MT/WY 1872 4,065,439
B FL 1934       1,398,800
Y CA 1864       760,456
R FR 1876       45,543
;
proc print data=group;
run;
输出结果如下:
Obs   a   b                  c            d           group
1     Y    ID/MT/WY    1872    4065439    hig
2     B    FL               1934    1398800      med
3     Y    CA              1864     760456       med
4     R    FR              1876      45543        low

为什么输出的group变量都只有3位呢?我想让它正常输出,应该怎么改?谢谢各位!
二维码

扫码加我 拉你入群

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

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

关键词:Input 输出结果 put Medium Group medium 程序

沙发
天穹下 发表于 2015-4-21 15:54:48
data group;
input a:$1. b:$ c @17 d comma9.;/*这一句也要稍微改一下*/
length group $8.;/*加上这一句用length定义宽度,因为group变量的宽度由第一个出现的值决定(这里
                         是"low",宽度是3)*/
if d < 500000 then group = 'low';
已有 1 人评分论坛币 收起 理由
admin_kefu + 25 热心帮助其他会员

总评分: 论坛币 + 25   查看全部评分

藤椅
蓝娃 发表于 2015-4-21 16:38:18
天穹下 发表于 2015-4-21 15:54
data group;
input a:$1. b:$ c @17 d comma9.;/*这一句也要稍微改一下*/
length group $8.;/*加上这一句 ...
问题解决。谢谢了!

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

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