SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 618|回复: 1
打印 上一主题 下一主题

【求助】如何自动读入变量名?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-3-30 15:07:26 | 只看该作者

【求助】如何自动读入变量名?

我有一个数据库,有几十个变量。
这些变量中有些数据缺失被设成不同的缺失值(比如-99, -977)。
我想全部查找替换成“.”
我不知道怎样才能实现。

请问高手怎样一次性把所有变量名都读入一个宏变量中,然后循环一下把每个变量里面的缺失值替换掉。(或者有没有其他更好的办法)

谢谢!

数据库:
var1 var2 var3 var4 var5....
1      -99    2      3     4
-977    2    3     1       5
.....

怎样把这些缺失值都变成点?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-4-6 07:21:14 | 只看该作者

Re: 【求助】如何自动读入变量名?

First I think you have to make sure that there are no value for a certain variable that equals to the possible missing values, either -977 or -99 or whatever..

If not, you may try following code.

data test1(drop=i);
  set test;
  array var_array {5} var1-var5;
  do i=1 to 5;
      if var_array{i} in (-99,-977) then var_array{i}=.;
         end;
         run;

Also, if your variables were not set as var1 , var2 or whatever, you can use the following more universe code

data test1(drop=i);
  set test;
  array nvar(*) _numeric_;
     do i=1 to dim(nvar);  
          if nvar(i)in (-977,-99) then nvar(i)=.;
     end;
         run;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-5 12:20 , Processed in 0.067182 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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