SAS中文论坛

标题: 请教编程小问题 [打印本页]

作者: haiimo    时间: 2014-11-12 15:21
标题: 请教编程小问题
如何表示所有下划线开头的变量。

有很多个变量名,如_121435, _248746, _684343 ,现在想把所有这些变量的缺失值=0。
用missing()=0时遇到卡壳了。
谢谢。

作者: gogotiger    时间: 2014-11-29 23:39
  1. data b; set a;
  2.   array ary(*) _121435 -- _684343;
  3. do i=1 to dim(ary);
  4. if ary(i)=. then ary(i)=0;
  5. end;
  6. run;
复制代码

这是假设所有这些变量都是 numeric,如果其中有 char的话,你就按照这个来改。
作者: haobq2008    时间: 2014-12-8 17:42
本帖最后由 haobq2008 于 2014-12-8 17:46 编辑

proc sql;
update origin_table set
origin_var='0'
where origin_var  like '_%';
quit;
作者: BioSas    时间: 2016-5-18 01:01
data Original_A;
input _121435 _248746 _99999684343 Do_Not_Change_This_One;
datalines;
1 1 1 4
. 2 2 .
3 3 2 2
1 5 2 .
6 2 . 6
7 7 3 1
. . 4 4
1 1 4 7
9 9 . 8
1 1 5 7
. 4 6 2
1 6 6 .
. 3 7 5
1 7 . .
;
run;

data Updated_B (drop=i);
set Original_A;
array a(*) _:;
do i=1 to dim(a);
  if a(i)=. then a(i)=0;
end;
run;





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