全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4522 3
2011-12-14
问题有些长,希望耐心读下去,是关于数据挖掘的一个很重要的问题。下面是程序:
数据集
data test;
input region $ state $ month monyy5. headcnt expenses revenue redm_flag;
format month monyy5.;
cards;
EASTERN VA FEB78 10 7800 15500 1
SOUTHERN FL MAR78 9 9800 1350 1
SOUTHERN GA JAN78 5 2000 8000 0
NORTHERN MA MAR78 3 1500 1000 1
SOUTHERN FL FEB78 10 8500 11000 0
NORTHERN NY MAR78 5 6000 5000 0
EASTERN VA MAR78 11 8200 16600 1
PLAINS NM MAR78 2 1350 500 0
SOUTHERN FL JAN78 10 8000 10000 1
NORTHERN NY FEB78 4 3000 4000 0
SOUTHERN GA FEB78 7 1200 6000 0
;
run;

进行如下的变量筛选完全仿照姚志勇的《SAS编程与数据挖掘商业案例》中的变量筛选

proc contents data=test(drop=region state month redm_flag)
noprint out=origin_dev_variable;
run;
data origin_num_var;
set origin_dev_variable;
where type=1;
keep name;
run;

%macro var_chi();
%if %sysfunc(exist(origin_var_chisq_list)) ne 0 %then %do;
proc datasets lib=work;
delete origin_var_chisq_list;
quit;
data origin_var_chisq_list;
length var $40 scorechisq 5 probchisq 8;
stop;
run;
%end;
  %let dsid=%sysfunc(open(origin_num_var));
  %if &dsid gt 0 %then %do;
  %let nobs=%sysfunc(attrn(&dsid,nobs));
  %do i=1 %to &nobs;
    %let rc=%sysfunc(fetchobs(&dsid,&i));
    %let varnume=%sysfunc(varnum(&dsid,name));
    %let variable=%sysfunc(getvarc(&dsid,&varnume));
ods listing close;
ods results off;
ods output
effectnotinmodel=var_chisq(keep=effect scorechisq probchisq rename=(effect=var));
proc logistic data=test desc;
model redm_flag=&variable./select=s sls=0.3 sle=0.3 maxstep=1 detail;
run;
ods output close;
ods results on;
ods listing;

proc append base=origin_var_chisq_list data=var_chisq force;run;
  %end;
  %let dsid=%sysfunc(close(&dsid));
  %end;

%mend;
%var_chi;

问题:运行时日志中提示Output 'effectnotinmodel' was not created-File WORK.VAR_CHISQ.DATA does not exist.程序中哪里有问题呢??
还有就是effectnotinmodel究竟起什么作用?帮助文档中解释为Test for effects not in model,不太理解,希望高人多多指点,小弟感激不尽~~
二维码

扫码加我 拉你入群

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

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

全部回复
2011-12-14 05:37:44
Basically, the error is minimal if there is. In my SAS, select=s was not recognized, instead of selection =s
Hopefully, this will resolve the code issue.

JingJu
二维码

扫码加我 拉你入群

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

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

2011-12-14 10:17:02
jingju11 发表于 2011-12-14 05:37
Basically, the error is minimal if there is. In my SAS, select=s was not recognized, instead of sele ...
是的,问题解决了~~小弟没有多少经验!谢谢大侠指点~你知道effectnotinmodel语句究竟起什么作用?还有scorechisq代表什么指标?
二维码

扫码加我 拉你入群

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

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

2012-5-4 16:19:55
同问
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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