• sas调整数据集变量顺序


    sas调整数据集变量顺序,更改列顺序,更改列的排列。

     Python和R在进行变量顺序修改时特别方便,但是sas的keep并不支持变量顺序修改,只能用retain来进行修改,而且修改使用的方法是将所有的变量名重新排列一遍。

    如果变量特别多会非常麻烦,利用宏变量其实是程序拼接的思想,试用宏变量来实现。

    以下代码实现了将num1和num2排列到一起,更加复杂的排列可以参考此方法。

    varnum是变量顺序。

    data a;
    input name $ id sex $ num1 var1 $ num2 var2 $ var3 var4 $;
    cards;
    a 1 m 3 x 5 y 7 z
    ;
    run;
    proc print;
    run;


    proc sql;
    create table vars as
    select varnum,name
    from dictionary.columns
    where memname='A';
    quit;

    data vars;
    set vars;
    if name='num2' then varnum=4.1;
    run;

    proc sql ;
    select name into :a_vars separated by' '
    from vars
    order by varnum;
    quit;

    %put &a_vars.;
    data a;
    retain &a_vars.;
    set a;
    run;
    proc print ;
    run;

    这里使用了 dictionary.columns数据集,以下截图为 dictionary.columns数据集中的值,

    其中有变量名和变量名的label,所以有时候我们想把变量名改成label值,也可以参考这种拼接方式。

    获取变量名的另外一个方法:

    data vars1;
    set sashelp.vcolumn;
    where memname='A';
    keep varnum name;
    run;

  • 相关阅读:
    信号量Semaphore的使用
    Future和FutureTask
    阻塞队列和线程池
    Java多线程基础
    Java常用方法
    Scanner和BufferedReader的区别和用法
    QT学习笔记9:QTableWidget的用法总结
    WordPress 建站教程:新手搭建 WordPress个人博客图文教程(完全版)
    Let's do it
    jdk alternatives
  • 原文地址:https://www.cnblogs.com/SSSR/p/6907859.html
Copyright © 2020-2023  润新知