SAS中文论坛
标题:
菜鸟macro小问题,SOS
[打印本页]
作者:
shiyiming
时间:
2010-11-6 19:30
标题:
菜鸟macro小问题,SOS
问题: *怎么写code:若某个变量下有四个水平(1、2、3、4),要变为两个水平,如if varni>=3 then varn=2;
[code:mngke48h]
%let vareff=VAR1 VAR2......VARN;*结局变量;
%let ??;
*怎么写code:若某个变量下有四个水平(1、2、3、4),要变为两个水平,如if varni>=3 then varn=2;
proc freq data=Q ;
tables egroup*&vareff/nopercent nocol fisher;
run;
[/code:mngke48h]
作者:
shiyiming
时间:
2010-11-7 20:18
标题:
Re: 菜鸟macro小问题,SOS
期待jinju,hopewell,期待再次现身,
作者:
shiyiming
时间:
2010-11-8 22:39
标题:
Re: 菜鸟macro小问题,SOS
具体的变量还是应该具体对待。我想,macro可能在此处意义也不是很大。比如说:
%let vareff = var1 var2;
proc format;
value vfmt 1, 2 ='1' 3, 4 ='2';
run;
proc freq data=Q ;
tables egroup*(&vareff)/nopercent nocol fisher;
format &vareff vfmt.;
run;
作者:
shiyiming
时间:
2010-11-10 21:59
标题:
Re: 菜鸟macro小问题,SOS
这里有个具体例子,code如下:
[code:esguj5uj]
%let vareff= RC3M3 LC3M3 RC4M3 LC4M3;*每个变量下有四个水平(0,1,2,3),要变为两个水平(0,1),
如if var>1 then var=1,但是变量太多,编辑有易于出错, ;
data nt1111;
set nt.nt1;
if &vareff in (2, 3) then &vareff=1;
run;
TITLE 'nt 95%CI';
proc freq data=nt1111;
tables egroup*(&vareff)/nopercent nocol fisher alpha=&alpha.;
run;
[/code:esguj5uj]
结果报错,还望大侠指点,
作者:
shiyiming
时间:
2010-11-10 23:01
标题:
Re: 菜鸟macro小问题,SOS
[code:3tzvvhp2]proc format;
value x 2, 3 =1;
run;
TITLE 'nt 95%CI';
proc freq data=nt.nt1111;
tables egroup*(&vareff)/nopercent nocol fisher alpha=&alpha.; format &vareff x.;
run;[/code:3tzvvhp2]
作者:
shiyiming
时间:
2010-11-11 08:28
标题:
Re: 菜鸟macro小问题,SOS
<!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> 呵呵,谢谢jingju了,硬是没有把前面的code认识,现在有点认识了,再次谢谢jingju!! <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2