楼主: zhuhuichenecho
2163 2

[原创博文] 变量赋值问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

29%

还不是VIP/贵宾

-

威望
0
论坛币
27 个
通用积分
3.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
285 点
帖子
59
精华
0
在线时间
108 小时
注册时间
2010-6-29
最后登录
2022-5-11

楼主
zhuhuichenecho 发表于 2012-4-21 20:46:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想请问一下,有一列属性数据,例如 北京 上海 广州,如何把它变成有0、1组成的矩阵

北京 1 0 0
上海 0 1 0
广州 0 0 1

类似这种,当然这个变量里的元素很多,所以不想人工赋值想问问有没有什么程序可以做到。
二维码

扫码加我 拉你入群

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

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

关键词:有没有 北京 广州 上海 程序 如何

沙发
843446747 发表于 2012-4-21 21:15:26
看看

藤椅
maidenhan 发表于 2012-4-21 21:29:52
The following code might give u some ideas.

  1. data a;
  2. input text $;
  3. cards;
  4. 北京
  5. 上海
  6. 广州
  7. ;run;
  8. data b;
  9.      set a end=eof;
  10.      call symput(compress('var'||_n_), text);
  11.      fid + 1;
  12.      if eof then call symput('n', fid);
  13. run;
  14. %macro test();
  15. data c(drop = fid);
  16.      set b;
  17.      %do ii = 1 %to &n.;
  18.       if &ii. = fid then _&ii. = 1;
  19.            else _&ii. = 0;
  20.      %end;
  21.      label %do ii = 1 %to &n.;
  22.                      _&ii. = "&&var&ii.."
  23.              %end;;
  24. run;
  25. %mend;
  26. %test();
复制代码

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

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