data &state.&sheet.;
set di;
retain &header.;
infile in filevar= path end=done missover;
do until(done);
if _N_ =1 then
input &headerlength.;
input &allvar.;
output;
end;run;
变量路径在di数据集中。
我想将多个txt文件读入一个SAS数据集。在每个txt文件中,第一行是标题,我想为每个观察保留此标题,因此我使用if _N_ = 1
输入标题,然后输入第二行其他变量进行分析。
输出很奇怪。只有第一行包含标题而其他行的观察结果不正确。
有人可以帮我一点吗?非常感谢你。
答案 0 :(得分:0)
尝试:
core.js
答案 1 :(得分:0)
我喜欢陈胜麟的回答,但这是另一个选择:每次数据步骤开始导入新文件时,将行计数器重置为1.
data &state.&sheet.;
set di;
retain &header.;
infile in filevar= path end=done missover;
do _N_ = 1 by 1 until(done);
if _N_ = 1 then input &headerlength.;
input &allvar.;
output;
end;
run;
如果您想要对每个文件中的每第n行执行不同的操作,则更容易理解。
答案 2 :(得分:0)
您应该使用WHILE(NOT DONE)而不是UNTIL(DONE)来防止读取文件末尾,并在文件为空时停止数据步骤。或者对于文件只有标题行的一些答案。