首页 文章

SAS 9.4 proc使用getnames = no导入列名

提问于
浏览
1

我在更新代码以使用SAS 9.4,Proc Import时遇到了一些麻烦 . 我有一堆杂乱的数据,我指定“getnames = no” . 在9.3中,默认列名称是F1,F2,F3等 . 然后我有一堆代码来清理数据,重命名变量等 .

在9.4中,默认列名是A,B,C等,因此我的旧代码都不起作用 . 是否有设置或选项我可以更改为使用F1,F2,F3命名约定而不是A,B,C?

谢谢 .

1 回答

  • 0

    为什么不使用PROC DATASETS重命名所有变量?您可以使用PROC CONTENTS和PROC SQL来创建RENAME语句 .

    PROC CONTENTS DATA=imported OUT=impcont NOPRINT ;
    RUN ;
    
    PROC SQL ;
    
      SELECT COMPRESS(name || '=f' || PUT(varnum,3.))
        INTO :renamestmt SEPARATED BY ' '
        FROM impcont
      ;
    
    QUIT ;
    
    PROC DATASETS LIBRARY=work NOLIST ;
      MODIFY imported ;
        RENAME &renamestmt ;
      RUN ;
    QUIT ;
    

相关问题