全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4140 3
2016-01-08
请问SAS中如何根据字符型变量,生成一个数字型变量,而字符变成标签?谢谢!比如,1000行 name中有100个学校的名字,我想生成一个name1,是数字型,比如1,2,3,……100.每一个数字有不同的学校,也就是说标签。1代表人大,2 代表南开。。。。等等类似?STATA中用encode就可以直接这样。请问SAS中如何做?谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-1-10 01:44:23
proc format
二维码

扫码加我 拉你入群

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

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

2016-1-23 14:20:38
大概了解你的意思,但标签是对variable所言的。你的意思应该是另设一列(name1),然后对应的学校分别赋值1-100是么。但是1000个观测的学校名是有重复的(只有100个学校)。我假设你数据集名字是aa
proc sort data=aa nodupkey out=bb;
by name;
run;/*得到100个不重复学校名*/

data bb (keep=name1 name);
  set bb;
  if _n_=1 then name1=0;
  name1+1;
run;/*每个学校赋值 1-100*/

proc sort data=aa;
  by name;
proc sort data=bb;
  by name;
data final;
  merge aa bb;
  by name;
run;

二维码

扫码加我 拉你入群

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

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

2016-1-24 14:10:10
风晚凉 发表于 2016-1-23 14:20
大概了解你的意思,但标签是对variable所言的。你的意思应该是另设一列(name1),然后对应的学校分别赋值1 ...
many thanks ~!!!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群