SAS中文论坛

标题: 如何在LABEL里改变量名中下划线为空格? [打印本页]

作者: shiyiming    时间: 2011-5-11 08:40
标题: 如何在LABEL里改变量名中下划线为空格?
data a;
input a_b $ v_d_f $  ab_c $ a_bc_d $ ;
cards;
zx1 xnc2 df3 ss
...
;
现在,我想把a中变量里的下划线去掉,取而代之的为空格,并且放在label里:
a_b -> a b  
v_d_f -> v d f
ab_c  -> ab c
a_bc_d -> a bc d  

谢谢!
作者: shiyiming    时间: 2011-5-11 13:39
标题: Re: 如何在LABEL里改变量名中下划线为空格?
FYI

data a;
input a_b $ v_d_f $ ab_c $ a_bc_d $ ;
cards;
zx1 xnc2 df3 ss
;
run;

proc contents data=a out=contents noprint;
run;

data contents;
set contents end=last;
length label_t $ 1000;
retain label_t;
label=translate(name,' ','_');
put label_t=;
label_t=strip(label_t)||' '||compress(name)||'="'||strip(label)||'"';
if last then call symput('label',label_t);
run;

proc datasets lib=work mt=data nolist;
modify a;
label &label;
run;
quit;
作者: shiyiming    时间: 2011-5-11 14:42
标题: Re: 如何在LABEL里改变量名中下划线为空格?
非常感谢!
不过,我怎么才能得到一个新的数据b?

由a:
a_b  v_d_f   ab_c   a_bc_d  
zx1   xnc2     df3      ss

变成这样一个新的数据b(显示label):
a b   v d f     ab c   a bc d  
zx1   xnc2     df3      ss

谢谢!
作者: shiyiming    时间: 2011-5-11 15:09
标题: Re: 如何在LABEL里改变量名中下划线为空格?
恩,可以把a表复制一个出来,就可以了。
作者: shiyiming    时间: 2011-5-11 21:53
标题: Re: 如何在LABEL里改变量名中下划线为空格?
thanks a lot.
作者: shiyiming    时间: 2011-5-12 11:31
标题: Re: 如何在LABEL里改变量名中下划线为空格?
data a;
input a_b $  v_d_f $  ab_d $  map ;
cards;
zx1 xnc2 df3 1000;
run;

如果只想把其中一个变量‘a_b’里的下划线去掉并存在label里,改如何做?
或者如果只想改其中2个变量‘a_b’和‘ab_d ’,对于‘a_b’改成‘A B’;对于‘ab_d ’则改成‘AB D DESCRIPTION ’并存在label里,改如何做?
不好意思,问这么多问题。
谢谢!!!
作者: shiyiming    时间: 2011-5-12 13:46
标题: Re: 如何在LABEL里改变量名中下划线为空格?
如果是比较具体的变量的话,你只能一个一个定义了,我写的只是一个普遍的情况。具体的做法,你可以用if语句去定义label这个变量就行了。




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2