我的SAS菜鸟之路2

  • @的应用????
    • @@强制保持当前记录
    • @如果data步中没有其他语句就正常读取,直到第二个input语句,就可以保持同行输入
  • sas数据的导入
    • 只有非sas数据类型的数据才可导入
  • sas永久数据集的建立
    • 首先在硬盘中建立一个文件夹并与SAS逻辑库中所建立的数据库关联起来
    • 在数据写入时应在所建立的数据集前加上文件夹的名称,如:data mydir.fh
    • 数据集调取时
      • libname Aa"c:sasfuxi"

数据集的合并

  • 纵向合并

    • set
      • set 数据集1 数据集2........
      • by 变量1
      • set 数据集1(in=变量1) 数据集2(in=变量2) ,用于识别原始数据集
  • 横向合并

    • merge
      • merge 数据集1 数据集2........
      • by 变量1
  • 多个数据的交集

    • merge t1(in=a1) t2(in=a2) t3(in=a3);
    • if a1 and a2 and a3

观测的选择

  • if

    • if 表达式 表示表达式成立

    • if 表达式 then delete

      set aa;

      if gender=”M” and age>40;

  • where

    • 可做数据集选项放在数据集后的括号中(where=(表达式))
    • set aa (where=(gender="M" and age>40));
  • 利用obs 和 firstobs选择观测

    • 选择观测3-7

      data pop;

      do id=1 to 10;

      output;

      end;

      ;

      data sam;

      set pop(firstobs=3 obs=7);

      proc print;

      run;

  • 对变量的选择

    • keep

    • drop

      • vset ht;

        keep gender age height1 height2;

      • 数据集选项

        • data ht1;

          set ht(keep=gender age height1 height2);

数据集的排序

  • proc sort <out=数据集>

  • by by 变量1 变量2 ……

    • 选项out=数据集指定排序后的数据集名
    • by语句指定排序的变量,可以指定多个,descending降序,不加默认的是按升序
  • 查找重复值

    • proc sort out=rep nouniquekey;

      pby name;

原文地址:https://www.cnblogs.com/yangzilaing/p/13057816.html