全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1591 4
2017-11-24
悬赏 30 个论坛币 已解决
要求如题:如何剔除只有一种取值的变量
举一个例子,有一个数据集,包含a, b, c三个字符型变量,其中,b这个变量的取值只有一种,需要删掉,怎么用SAS表达出这种过程?


data a ;
input a$ b$ c$;
cards;
Jeremy M 1960
James M 1963
Richard M 1969
;
run;

最佳答案

wwang111 查看完整内容

data allvar; set sashelp.vcolumn; where libname="WORK" and memname="A"; keep name; run; data _null_; set allvar; call execute('proc sql; create table varnobs'||cats(_n_)||' as select '||quote(strip(name))||' as varname, count(distinct '||strip(name)||') as nobs from a; quit;'); run; data nobs; set varnobs:; run; ...
二维码

扫码加我 拉你入群

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

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

全部回复
2017-11-24 14:25:50
data allvar;
set sashelp.vcolumn;
where libname="WORK" and memname="A";
keep name;
run;

data _null_;
set allvar;
call execute('proc sql;
               create table varnobs'||cats(_n_)||' as
               select '||quote(strip(name))||' as varname, count(distinct '||strip(name)||') as nobs
               from a;
               quit;');
run;

data nobs;
set varnobs:;
run;

proc sql noprint;
select varname into: dropvar separated by " "
from nobs
where nobs=1;
quit;

data wanted;
set a;
drop &dropvar;
run;
二维码

扫码加我 拉你入群

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

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

2017-11-24 14:29:31
input之后被吞了两个dollar符号
二维码

扫码加我 拉你入群

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

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

2017-11-24 16:00:41
wwang111 发表于 2017-11-24 14:25
data allvar;
set sashelp.vcolumn;
where libname="WORK" and memname="A";
感谢大神!!!
二维码

扫码加我 拉你入群

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

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

2017-11-24 17:03:56
复制代码
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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