楼主: edwardzxf
3502 5

将字符编码 [推广有奖]

  • 0关注
  • 2粉丝

已卖:32份资源

讲师

26%

还不是VIP/贵宾

-

威望
0
论坛币
222 个
通用积分
0.4203
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
3991 点
帖子
242
精华
0
在线时间
375 小时
注册时间
2010-7-30
最后登录
2021-5-25

楼主
edwardzxf 学生认证  发表于 2013-10-28 01:28:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问sas 里面有没有这样一个函数:可以将字符编码,如可以将一个字符变量转换成一个唯一与之对于的数字变量。我这样做的目的是,因为数字型的变量总是比字符型变量好处理,条件选择的时候更准确。

其实有个类似的函数soundex(),可是它生产的编码也不是数字型的,我要编码是数字型的。多谢!
二维码

扫码加我 拉你入群

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

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

关键词:Sound 字符型变量 字符变量 变量转换 字符型

沙发
woshi7ge 发表于 2013-10-28 04:03:04
霸气

藤椅
bobguy 发表于 2013-10-28 04:22:11
There is no such a function.

But it can easily done by informat + input function.

板凳
edwardzxf 学生认证  发表于 2013-10-29 16:23:49
bobguy 发表于 2013-10-28 04:22
There is no such a function.

But it can easily done by informat + input function.
如可以,能否给个例子,谢谢啊

报纸
bobguy 发表于 2013-10-30 06:52:22
edwardzxf 发表于 2013-10-29 16:23
如可以,能否给个例子,谢谢啊
Here is an example.

%macro freqit(lib=work,dsn=, var=);
proc sql noprint;
  select catx(' ', 'table',name,'/out=_tmp_',';')  into: varlist separated by ' '
  from sashelp.vcolumn
  where libname=%UPCASE("&lib") and memname=%UPCASE("&dsn")
        and type='char' and upcase(name)=%UPCASE("&VAR")  ;
  quit;

  proc freq data=&lib..&dsn noprint;
  &varlist
  run;

  data _tmp_;
    set _tmp_ ;
        fmtname="$&var";
    start=&var;
        label=_N_;
  run;
   
  proc format cntlin =_tmp_;
  run;
   
%mend;


%freqit(lib=sashelp,dsn=class,var=sex)

data _null_;
  set sashelp.class;
  put sex= sex= $sex.;
run;

地板
playmore 发表于 2013-10-30 09:01:14
如果你只考虑单个字符的话,转成对应的ascii码就好了
在SAS里可以用rank函数
  1. data have;
  2. input char $;
  3. datalines;
  4. a
  5. b
  6. c
  7. x
  8. ;
  9. run;

  10. data have;
  11. set have;
  12. ascii=rank(char);
  13. run;
复制代码
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

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

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