我对SAS很陌生,我有一个表,表名如下:
ID shoe.description shoe.color shoe.size shoe.reviews shoe.price store URL
我计划创建一个函数来将没有鞋的变量重命名为类似
的东西ID description color size reviews price store URL
我可以知道我怎样才能做到吗?
您可以使用变量名列表来帮助您生成RENAME语句。
首先将变量列表放入数据集。例如使用PROC CONTENTS。
proc contents data=have noprint out=contents; run;
如果变量的数量不是不合理的大,那么你可以用旧=新对的列表生成一个宏变量。
proc sql noprint;
%let renames=;
select catx('=',nliteral(name),nliteral(substr(name,6)))
into :renames separated by ' '
from contents
where lowcase(substr(name,1,5))='shoe.'
;
quit;
然后在RENAME语句中使用该列表。或者创建一个新的数据集
data want;
set have;
rename &renames;
run;
或使用PROC DATASETS来修改现有数据集中的名称。