全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5143 4
2012-09-06
能简单举个例子吗?
thx~
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-6 13:29:21
INPUT语句最后的@符号表示换行读取观测值;最后的@@符号则表示不换行读取。
二维码

扫码加我 拉你入群

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

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

2012-9-6 13:33:05
随便举个例子,慢慢体会吧,体会半天就理解了,光说也没用
复制代码
二维码

扫码加我 拉你入群

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

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

2012-9-6 13:39:49
简单来说,有时要根据某个变量的值来决定如何读取其它变量,这时需要多个input语句读入不同的变量,通常,sas在完成一个input语句时,数据指针自动跳到下一行,如上述第二个例子input x y完成后,指针跳到下一行,所以input z的时候读入34。加上@就可以让指针读完一个input语句时,指针不跳到下一行,所以例一中z的值为5.
@的@@的区别在于, @在一个input语句中,保持指针在此行,但当遇到一个不加@input的语句,或者进入到data步的下一个循环(即第一个观测所有变量赋值完成),指针仍会跳到下一行。如例一中,input z完成后,本循环结束,进入下一个循环,指针跳到下一行了。而@@即便是进入到data步的下一个循环,也不会将指针跳到下一行,除非本行所有数据读完,才会跳指针。结合我的例子,慢慢消化吧
二维码

扫码加我 拉你入群

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

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

2012-9-6 13:46:34
其实建议楼主先把sas中data步的执行过程弄清楚。就像楼上说的那样,@是在当前data步里固定指针,该data步执行完之后指针移到下一行。而@@是在当前data步里固定指针,即使该data步执行完了指针依然在这一行,除非这一行数据全部读完了,指针才调到下一行
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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