SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 646|回复: 5
打印 上一主题 下一主题

菜鸟macro小问题,SOS

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-11-6 19:30:34 | 只看该作者

菜鸟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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-11-7 20:18:56 | 只看该作者

Re: 菜鸟macro小问题,SOS

期待jinju,hopewell,期待再次现身,
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-11-8 22:39:43 | 只看该作者

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;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-11-10 21:59:37 | 只看该作者

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]
结果报错,还望大侠指点,
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2010-11-10 23:01:18 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2010-11-11 08:28:04 | 只看该作者

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:) -->
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-3 16:37 , Processed in 0.067328 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表