选择a1-a100观察&删除sas中的休息观察

时间:2016-08-01 08:00:06

标签: sas

我有一个名为b的数据集,其中包含名为a1a2a45a345a999,{{ 1}}等等。

我想选择a654 - a1之间命名的客户并弃用其他客户。 我试过这段代码:

a100

但我收到此错误

  

错误:变量a1不在文件b上。

1 个答案:

答案 0 :(得分:2)

将客户标识符中的数字转换为数字,并对该数字应用条件。

data a;
    set b;
    if 1 le input(substr(customer,2),8.) le 100;
run;
  • substr(customer,2),8.返回2de,直到customer的最后一个字符,即数字
  • input(substr(customer,2),8.)将数字解释为数字
  • 1 le input(substr(customer,2),8.) le 100是写input(substr(customer,2),8.) between 1 and 100 的sas方式(实际上它更好,因为它允许使用lt代替le
  • 在此情况下,没有if
  • then相当于where