全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2461 8
2010-05-02
现有2个数据集a,b;
a数据集如下
data a;
input id sex age race;
cards;
1 1 2 2
2 1 2 1
3 2 3 1
4 2 3 1
;
run;
b数据集如下
data a;
input id sex age race;
cards;
1 1 4 1
2 2 4 2
3 1 5 3
;
run;

请教:
现在想将2个数据集进行合并分析,想了解这两个数据集在sex age 和 race的构成上有无差异,怎么做才比较简单,以及可以扩展(比如多个数据集和大量变量,或者不同数据的相应变量名不同但含义相同也进行构成比较)
二维码

扫码加我 拉你入群

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

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

全部回复
2010-5-2 17:52:49
data a;
input id sex age race;
n=1;
cards;
1 1 2 2
2 1 2 1
3 2 3 1
4 2 3 1
;
run;
data b;
input id sex age race;
n=2;
cards;
1 1 4 1
2 2 4 2
3 1 5 3
;
run;
proc append base=a data=b;
run;
%macro freq(var);
proc freq data=a noprint;
tables n*&var./chisq;
output OUT=&var. chisq  ;
run;
quit;
data &var.;
set &var.;
var="&var.";
run;
%mend freq;
%freq(sex);
%freq(age);
%freq(race);
data r(keep=p var result);
set age sex race;
rename p_pchi=p;
if p<0.05 then result="构成比无差异";
else  result="构成比有差异";
run;
二维码

扫码加我 拉你入群

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

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

2010-5-2 17:55:01
写的很简单
如要变量多 数据量大
变量不一样的时就rename吧
一样的话写个宏吧
sushe1527来完成
二维码

扫码加我 拉你入群

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

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

2010-5-2 17:56:41
如果P值接近0.05而且有些格子数目为0 考虑用FISHER精确检验的P值
不过数据量大变量多的时候FISHER检验会很慢
二维码

扫码加我 拉你入群

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

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

2010-5-2 17:59:00
crackman 发表于 2010-5-2 17:55
写的很简单
如要变量多 数据量大
变量不一样的时就rename吧
一样的话写个宏吧
sushe1527来完成
这点小事你就一起写了吧
二维码

扫码加我 拉你入群

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

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

2010-5-2 21:31:06
感谢crackman!我研究下
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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