全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3865 4
2015-08-05
学习中这道貌似很简单的题着实困扰了我好久,网上查找答案未果,最后自己终于搞懂了,相信有疑问的童鞋肯定不止我一个,这里专门发贴讲一下吧。
手册上说得很清楚,rename id, index file会自动updat到新名字,那么这个题目为什么选A?是答案错了还是手册错了?



答案是两者都木有错。 -_-||

A的确是正确的选项,运行一下程序就知道。先自生成一个带index的data set,然后再生成一个引用这个数据的data set, 并且rename indexed variable, 然后用proc contents来查看新数据,发现没有index。所以一定是A。

再做个简单的实验,生成一个新data set,在set语句中引用之前带index的数据,(不做任何动作,)然后再用proc contents来检查,会发现新数据仍然没有index。这时我们就明白原来根本dropping index和rename option无关, 而是在data step中使用set语句调用数据并不会把数据中的index copy到新数据中来。手册中说的情况大前提是使用proc datasets procedure!!!在datasets procedure 中使用rename statement更改variable,会自动update相关的index。


就是这么简单。。。看书的时候一定要把清脉络,如果只注意到细节忘了大前提,就会发生断章取义的错误!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2015-8-13 21:15:02
谢谢楼主!!!跟这道题死磕了一阵了,网上也找不到解答,正疑惑呢就翻到你的解释了!!谢谢分享!!
二维码

扫码加我 拉你入群

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

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

2015-8-14 23:19:37
路过看看
二维码

扫码加我 拉你入群

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

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

2015-8-22 23:05:36
got it, thank you!               
二维码

扫码加我 拉你入群

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

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

2017-11-2 16:45:53
应该是data 语句新建了一个 test 文件,把原来的test文件覆盖了。

这里的set, data 都用了test文件。对于sas来说,是先建立一个源文件的copy,程序结束后,在把源文件覆盖掉。这时,index就被删除了。

如果你用proc datasets去做rename的话,index则是保留的。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群