如何重命名通用sas变量?

时间:2014-04-07 20:55:30

标签: sas

我导入了一个getnames=no

的数据集
proc import out=dstest
datafile

...

run;

并获得了一堆F1-F5变量

现在我想重命名它们


 data dstest (rename=(F2=newName));
    set dstest ;
    run;

这是错误

The variable F2 in the DROP, KEEP, or RENAME list has never been referenced


data dstest ;
        set dstest(rename=(F2=newName)) ;
        run;

这是错误

 Variable F2 is not on file WORK.dstest.

然而proc打印工作正常

proc print data=tortdata (obs=10) ;  
var F2;
run;

1 个答案:

答案 0 :(得分:2)

您发布的内容没有任何内在错误,因为代码应该运行:

data blah;
f1=1;
f2=4;
run;

data blah(rename=(f1=a f2=b));
set blah;
run;

但是,如果您只是重命名变量,则没有理由进行数据步骤。 PROC DATASETS无需遍历整个数据集即可处理此问题。如果数据集很小,这可能无关紧要,但如果数据集很大,这可能会节省大量时间。请注意,您无法运行上述内容,因为如果您不重新构建blah数据集,则f1和f2将会消失。

proc datasets lib=work;
modify blah;
rename f1=a f2=b;
quit;