楼主: hamsik11
1348 1

怎么生成这样的一系列变量名? [推广有奖]

  • 0关注
  • 3粉丝

已卖:51份资源

副教授

16%

还不是VIP/贵宾

-

威望
0
论坛币
9016 个
通用积分
1.0000
学术水平
5 点
热心指数
8 点
信用等级
4 点
经验
24079 点
帖子
404
精华
0
在线时间
569 小时
注册时间
2011-3-22
最后登录
2025-11-28

楼主
hamsik11 发表于 2012-2-5 21:28:31 |AI写论文
5论坛币
我有一个数据集,里面有x,y,z,w四个变量,我想程序自动生成T_x,T_y,T_z,T_w四个新的变量名,应该怎么做?我写了一个宏,却总是无法解析,高手请指点一下 谢谢。

%macro test(varlist);
%let n=%sysfunc(countw(&varlist));
%put &n;
%do i=1 %to &n;
%let new_var&i=T_left(%scan(&varlist,&i));
%end;
%put &new_var1 &new_var2 &new_var3 &new_var4;
%mend;


%var(x y z w)

最佳答案

freerunning_sky 查看完整内容

%macro test(varlist); %let n=%sysfunc(countw(&varlist)); %put &n; %do i=1 %to &n; %let new_var&i=T_%scan(&varlist,&i); %end; %put &new_var1 &new_var2 &new_var3 &new_var4; %mend; %test(x y z w)
关键词:varlist sysfunc countw Macro Count 程序
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
hwb5258289 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

沙发
freerunning_sky 在职认证  发表于 2012-2-5 21:28:32
%macro test(varlist);
%let n=%sysfunc(countw(&varlist));
%put &n;
%do i=1 %to &n;
%let new_var&i=T_%scan(&varlist,&i);
%end;
%put &new_var1 &new_var2 &new_var3 &new_var4;
%mend;


%test(x y z w)

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 21:47