全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6790 8
2011-05-13
很多的数值变量,变量名没有规律,只要出现缺失值就改为0请问如何用_all_实现
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-5-14 00:11:28
SAS 9.2

data outdsn;
  set indsn;
  array zero(*) _numeric_;
  do i = 1 to dim(zero);
    if zero(i) = . then zero(i) = 0;
  end;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-14 02:34:32
data a;
input  a b c $;
datalines;
1 3 a
. 5 .
. 6 b
1 7 .
;
run;

data b;                    
set a;   

array chr(*) _character_;      
array num(*) _numeric_;   

do i = 1 to dim(chr);         
if  missing(chr(i)) then chr(i)='0';
end;                           
do j = 1 to dim(num);           
if  missing(num(j)) then num(j)=0;     
put _all_;
end;   
drop i j;

run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-14 05:52:03
data a;
input a b c $;
datalines;
1 . a
. 5 .
;
run;
options symbolgen mprint mlogic;
%macro missing(lib=work ,dsn=a );
proc sql noprint;
select name into :col1 - :col9999
from dictionary.columns
where libname=upcase(
"&LIB")
and memname=upcase(
"&DSN");
quit;
data _null_;
if
0 then set a nobs=nobs;
call symput(
'nobs',put(nobs,12.-l));
stop;
run;
data b;
set &&
LIB..&DSN;
%do i=1 %to &sqlobs;
if &&col&i=
" " then &&col&i=0;

%end;
run;
%mend;
%missing;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-19 09:07:40
楼上的集中方法都很好,学习了~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-26 11:12:32
采用array 分别对数值型和字符型变量缺失值赋值
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群