楼主: lime_kim
3497 7

[问答] 求解SAS Base 123题的No.72 [推广有奖]

  • 0关注
  • 0粉丝

本科生

11%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0376
学术水平
2 点
热心指数
2 点
信用等级
1 点
经验
634 点
帖子
42
精华
0
在线时间
74 小时
注册时间
2014-8-4
最后登录
2021-12-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
题目如下:
The following SAS program is submitted:
data work.test;
First='Ipswich, England';
City=substr(First,1,7);
City_Country=City!!', '!!'England';
run;
Which one of the following is the value of the variable CITY_COUNTRY in the output data set?
A. Ipswich!!
B. Ipswich, England
C. Ipswich, 'England'
D. Ipswich , England
Answer: D
这道题我是这么认为的:substr截取了First变量的前7个字符后,因为字符型变量的默认长度为8,又是left-aligned,所以City的值为‘Ipswich ’,然后选择D。但是看到有网友解释说City的长度和First一样为16,就有点搞不懂了~~~
不知道我自己的想法是否正确呢~亦或是其他的解释~
求教各位大神啦~~~
二维码

扫码加我 拉你入群

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

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

关键词:SAS base Base following Variable England

沙发
lime_kim 发表于 2015-2-28 15:39:10 |只看作者 |坛友微信交流群
看完另一道题感觉自己的想法是错误的~City长度应该和First一样为16~但是还是对这题不太明白~

使用道具

藤椅
FB_FLORA 发表于 2015-2-28 15:53:35 |只看作者 |坛友微信交流群
City_Country的长度是25,City_Country=Ipswich         , England吧

使用道具

板凳
lime_kim 发表于 2015-2-28 16:00:47 |只看作者 |坛友微信交流群
FB_FLORA 发表于 2015-2-28 15:53
City_Country的长度是25,City_Country=Ipswich         , England吧
哦哦,原来是这样~上面那个program里面给City_Country的赋值和下面这个是否完全没有区别呢:City_Country=substr(First,1,7)!!', '!!'England';
另外想问下concatenation operator到底是||还是!!呢?online tutor中是||,但题目里都是!!
非常感谢~~~

使用道具

报纸
FB_FLORA 发表于 2015-3-5 17:08:56 |只看作者 |坛友微信交流群
lime_kim 发表于 2015-2-28 16:00
哦哦,原来是这样~上面那个program里面给City_Country的赋值和下面这个是否完全没有区别呢:City_Country ...
应该都行啊

使用道具

地板
lime_kim 发表于 2015-3-5 23:16:07 |只看作者 |坛友微信交流群
FB_FLORA 发表于 2015-3-5 17:08
应该都行啊
ok, thanks~~~

使用道具

7
雨曦 学生认证  发表于 2015-3-7 09:56:12 |只看作者 |坛友微信交流群
FB_FLORA 发表于 2015-2-28 15:53
City_Country的长度是25,City_Country=Ipswich         , England吧
为什么是25位呢

使用道具

8
闲云旧雨 在职认证  发表于 2016-6-4 10:48:59 |只看作者 |坛友微信交流群
如果没有提前用length语句指定新变量city的长度,那么SAS默认变量city的长度等同于变量first的长度16(因为变量city是由变量first变量用substr函数生成的,最大提取的长度就是原变量first的长度)。而变量city_contry的长度就是几个拼接元素长度总和(16+2+7=25)在SAS中实际跑完了查看各变量长度也确实是这样。
但我还是有问题,这样的话city_contry的变量值应该如FB_FLORA所说,是“Ipswich         , England”才对啊。但是SAS实际跑出来city_contry的变量值就是D选项的“Ipswich , England”这又是为什么呢???
----------------------------自问自答的分割线------------------------------------------------------------------
“SAS实际跑出来city_contry的变量值就是D选项的city_contry的变量值这又是为什么呢???”
用proc print查看变量值时显示city_contry的变量值为“Ipswich , England”,而如果手动点开数据集查看变量值,city_contry的变量值就为“Ipswich         , England”了,好神奇啊OTL。proc print还自带缩空格功能吗???
所以这题其实ABCD都不对喽?正确答案应该是“Ipswich         , England”

使用道具

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

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

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

GMT+8, 2024-4-27 05:11