我有一个包含多个变量的数据集,其中一个是 truc 。我想创建一个新变量,它只是变量 truc 的两个第一个字符,我们称之为 truc2 。
我知道如何创建它
data want ;
set have;
truc2=substr(truc,1,2);
run;
我的问题是,如果我只这样做,我的新变量 truc2 不会保存在我想要的表中。
我可以添加一个保持指令want(keep=var2)
,但是我必须添加我想要保留的所有变量,这非常繁琐。
此外,如果我添加一个变量,例如,
truc3=truc
会自动保存。
那么为什么不是由substr()创建的新变量呢?如何在不键入所有其他变量的情况下保留它?
答案 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;