henryyhl 发表于 2014-3-23 19:14:39

如何用Logistic回归单因素分析后把产生各个自变量的p值的.....

如题:
现在做一个Logistic回归分析,先做单因素分析,产生了GLOBALTESTS_ageg3 GLOBALTESTS_sex等一系列包括卡方值、p值的数据集(共20个自变量,也就是20个这样的数据集),如果直接set这些数据集的话就不知道其中的卡方值和p'值如何与自变量对应了,求解决方法。
我的一个思路是将数据集名称的后缀作为一个变量加入到每个数据集中,使每个数据集都产生一个新变量,然后再合并,那么该如何合并这些数据集并且把数据集名称的后缀作为其中的一个变量?
或者有别的思路吗?

谢谢!!!!

可~乐 发表于 2014-3-25 22:50:30

不知道是否类似这样
data test_age;
x=1;
run;

data test_sex;
x=2;
run;

proc sql noprint;
select count(*) into:n from dictionary.tables where libname='WORK';
select memname into :tablename1-:tablename%left(&n.)
from dictionary.tables
where libname='WORK';
quit;

%put &tablename1. &tablename2.;

%macro test;
%do i=1 %to &n.;
data &&tablename&i.;
        set &&tablename&i.;
        tablename=scan("&&tablename&i.",2,"_");
run;
%end;
%mend;

%test

x2chen 发表于 2014-3-25 00:12:51

中文看不懂。 能不能, 把你的 logistic regression MODEL写出来, 让我好理解你要干什么?一起研究研究!

henryyhl 发表于 2014-3-25 18:54:25


%macro lgstc_1var (x,y,dataset);
ods output GlobalTests=GlobalTests_&x OddsRatios=OddsRatios_&x;
proc logistic desc data=&dataset;
model &y=&x;
run;
ods output close;
%mend lgstc_1var;

%macro lgstc_dummy (x,y,dataset);
ods output GlobalTests=GlobalTests_&x. OddsRatios=OddsRatios_&x.;
proc logistic desc data=&dataset;
class &x /param=ref ref=first;
model &y=&x;
run;
ods output close;
%mend lgstc_dummy;

%lgstc_dummy(x=ageg3, y=c04, dataset=yhl.qest31)
%lgstc_1var(x=b02, y=c04, dataset=yhl.qest31)
%lgstc_1var(x=minzu, y=c04, dataset=yhl.qest31)
%lgstc_1var(x=hunyin, y=c04, dataset=yhl.qest31)
%lgstc_1var(x=wenhua, y=c04, dataset=yhl.qest31)
%lgstc_1var(x=zhiye, y=c04, dataset=yhl.qest31)
现在work库中有了一系列的数据集,其中包括GlobalTests的值、自由度及相应的P值,就是想把数据集的名称中的后缀作为一个变量加入该数据集中,这样就可以把这些数据集合并起来,以生成最后的表格。
求解决方法。

或者对程序有什么指点,敬请指正。

henryyhl 发表于 2014-3-26 08:18:12

可~乐 发表于 2014-3-25 22:50
不知道是否类似这样
谢谢您的指点,应该可以了。:handshake谢谢啊

x2chen 发表于 2014-3-30 23:47:45

本帖最后由 x2chen 于 2014-3-30 23:56 编辑

:handshake:handshake
页: [1]
查看完整版本: 如何用Logistic回归单因素分析后把产生各个自变量的p值的.....