我有一个数据集,里面含有n个元素,譬如是x, y, z, w,现在我要对数据做一个变换,譬如取n个元素的平方,生成n个新变量,变量名为t_x, t_y, t_z, t_w。由于我数据集中元素数目不固定,所以需要写一个宏来完成。
我写了一段宏,却总是不能实现我说的这个功能,有没有高手帮忙改一下?谢谢啦
%macro test(in, out, list);
data &out; set ∈
num=countw("&list");
do i=1 to num;
"t_"left((scan("&list",i)) )= (scan("&list",i))**2;
end;
drop num i;
run;
%mend;