保持由substr创建的变量

时间:2014-10-21 13:11:28

标签: sas

我有一个包含多个变量的数据集,其中一个是 truc 。我想创建一个新变量,它只是变量 truc 的两个第一个字符,我们称之为 truc2

我知道如何创建它

data want ;
    set have;
    truc2=substr(truc,1,2);
run;

我的问题是,如果我只这样做,我的新变量 truc2 不会保存在我想要的表中。 我可以添加一个保持指令want(keep=var2),但是我必须添加我想要保留的所有变量,这非常繁琐。 此外,如果我添加一个变量,例如,

truc3=truc

会自动保存。

那么为什么不是由substr()创建的新变量呢?如何在不键入所有其他变量的情况下保留它?

2 个答案:

答案 0 :(得分:0)

使用SQL代替吗?

PROC SQL;
  CREATE TABLE want as
  SELECT *,
  substr(truc,1,2) as truc2
  FROM HAVE;
QUIT;

答案 1 :(得分:0)

data want (drop=trunc2);
    set have;
    truc2=substr(truc,1,2);
run;