楼主: littleblack1984
2823 2

请教:如何批量合并一个表格中的变量 [推广有奖]

  • 3关注
  • 0粉丝

大专生

65%

还不是VIP/贵宾

-

威望
0
论坛币
50 个
通用积分
2.3853
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
54741 点
帖子
31
精华
0
在线时间
60 小时
注册时间
2010-10-13
最后登录
2024-6-17

楼主
littleblack1984 发表于 2016-2-23 12:00:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想把一个表格中的相连变量合分别合并成多个新的变量。


例如
variable   a_n a_m a_f b_n b_m b_f  c_n c_m c_f

生成新的变量 a=an||a_||a_f     b=b_n||b_m||b_f  c=c_n||c_m||c_f

因为变量比较多,所以希望能批量完成,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Variable ABLE VaR IAB ABL 如何

回帖推荐

沙发
孤单的我们 发表于 2016-2-26 13:39:38
  1. data have;
  2.         a_n="1";
  3.         a_m="2";
  4.         a_f="3";
  5.         b_n="3";
  6.         b_m="2";
  7.         b_f="1";
  8. run;

  9. %macro a(var=);
  10. data want;
  11.         length &var $200;
  12.         set have;
  13.         %let n=%sysevalf(%sysfunc(count(&var,%str( )))+1);
  14.         %do i=1 %to &n;
  15.         array %unquote(%qscan(&var,&i)_col) $ %unquote(%qscan(&var,&i)_:);
  16.                 do j=1 to dim(%unquote(%qscan(&var,&i)_col));
  17.                 %qscan(&var,&i)=cats(strip(%qscan(&var,&i)),%unquote(%qscan(&var,&i)_col){j});
  18.                 end;
  19.         %end;
  20. run;
  21. %mend;
  22. %a(var=%str(a b))
复制代码

藤椅
littleblack1984 发表于 2016-3-23 13:48:05
孤单的我们 发表于 2016-2-26 13:39
十分感谢

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 15:09