全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
11681 11
2009-09-07
具体问题是:有250个变量,如果在某个观测值处,某变量missing ,则删除此变量。

应该不是很难的问题,我查了不少资料,也没找到解决方法。请高手指点一下方向,我再去查资料。

谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2009-9-7 21:33:22
是不是可以这样做
data  a;
set  a;
if var1=. then delete;
if var2=. then delete;
...
...
  if var250=. then delete;
run;
二维码

扫码加我 拉你入群

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

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

2009-9-7 23:27:49
这个凑活着用吧
data a;
input x1 x2 x3 x4 x5;
cards;
1 2 3 6 7
. 2 6 4 6
. . 9 . 5
;
run;
proc transpose data=a out=b;run;
data b;set b;id=_n_;run;
Data d;Set b(drop=_name_);
Array Numr _all_;
Do Over Numr;
If Numr in(.) Then delete;
End;Run;
proc sql noprint;
create table c as
select * from b
where  exists
(select * from d where d.id=b.id)
;quit;
proc transpose data=c(drop=id) out=final(drop=_name_);run;
二维码

扫码加我 拉你入群

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

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

2009-9-8 03:34:44
复制代码


如果一个变量有任一缺失值,则删除该变量。你所要即是数据集old。
二维码

扫码加我 拉你入群

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

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

2009-9-8 11:12:33
谢谢楼上三位的回答。我自己再试了试。

shawfee的回答有点问题,delete是用来删除observation的。
sushe1527和jingju11的程序都是正确的。

再次谢谢!
二维码

扫码加我 拉你入群

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

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

2015-12-12 15:39:59
直接
data newdata;
set olddata;
drop var ...;
(or keep var ...)
这多简单,楼上的都简单问题复杂化了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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