楼主: moyunzheng
6822 8

sas 缺失值问题 [推广有奖]

  • 1关注
  • 2粉丝

博士生

60%

还不是VIP/贵宾

-

威望
0
论坛币
1357 个
通用积分
4.3535
学术水平
18 点
热心指数
19 点
信用等级
17 点
经验
11986 点
帖子
240
精华
0
在线时间
361 小时
注册时间
2010-12-11
最后登录
2025-12-2

楼主
moyunzheng 发表于 2011-5-13 17:23:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
很多的数值变量,变量名没有规律,只要出现缺失值就改为0请问如何用_all_实现
二维码

扫码加我 拉你入群

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

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

关键词:缺失值 数值变量 如何用 SAS 缺失

回帖推荐

sas_user 发表于4楼  查看完整内容

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= ...

本帖被以下文库推荐

沙发
diabloiii 发表于 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;

藤椅
sas_user 发表于 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;

板凳
sas_user 发表于 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;

报纸
leedx 发表于 2011-5-19 09:07:40
楼上的集中方法都很好,学习了~

地板
zhenglaiyi 发表于 2011-5-26 11:12:32
采用array 分别对数值型和字符型变量缺失值赋值

7
hamsik11 发表于 2011-5-27 00:07:57
4# sas_user

%do i=1 %to &sqlobs;
if &&col&i=
" " then &&col&i=0;

%end;

上面的语句为什么不是%if  %then,
为什么if then就可以通过?

8
hamsik11 发表于 2011-5-27 00:32:58
另外
%do i=1 %to &sqlobs;
if &&col&i=" " then &&col&i=0;

%end;


为什么把&&col&i=" "换成missing(&&col&i) 编译不能通过哪?

谢谢

9
statistics_qin 发表于 2014-8-11 16:26:56
看也看不懂伤心,直接复制了

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 11:16