学习中这道貌似很简单的题着实困扰了我好久,网上查找答案未果,最后自己终于搞懂了,相信有疑问的童鞋肯定不止我一个,这里专门发贴讲一下吧。
手册上说得很清楚,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。
就是这么简单。。。看书的时候一定要把清脉络,如果只注意到细节忘了大前提,就会发生断章取义的错误!!!