当读取一行包含多个观察的输入文件时,我们可以使用'@'或'@@'。
我们什么时候应该使用另一个?
答案 0 :(得分:4)
如果希望指针在数据步骤的下一次迭代中保持在同一位置,请使用double @。如果您只想让指针在数据步骤的当前迭代中保留下一个INPUT语句,那么您只需要使用一个尾随@。
通过多次迭代数据步骤读取一行的示例。
data want;
id+1;
input score @@;
cards;
10 20 30 45
;
在数据步骤的同一次迭代中多次从一行读取的示例。
data want;
infile cards truncover ;
input id score @;
do rep=1 by 1 until (score=.);
output;
input score @;
end;
cards;
1 10 20 30 45
2 15 32
3 5 6 8 12 13 56
;