楼主: crazygoing
2172 8

[原创博文] 求教数据集合并分析问题 [推广有奖]

  • 0关注
  • 47粉丝

教授

29%

还不是VIP/贵宾

-

威望
1
论坛币
4821 个
通用积分
21.8270
学术水平
165 点
热心指数
203 点
信用等级
146 点
经验
48691 点
帖子
441
精华
1
在线时间
1325 小时
注册时间
2007-11-9
最后登录
2024-4-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现有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的构成上有无差异,怎么做才比较简单,以及可以扩展(比如多个数据集和大量变量,或者不同数据的相应变量名不同但含义相同也进行构成比较)
二维码

扫码加我 拉你入群

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

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

关键词:分析问题 数据集 Input cards race

回帖推荐

crackman 发表于2楼  查看完整内容

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); ...

本帖被以下文库推荐

沙发
crackman 发表于 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;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

藤椅
crackman 发表于 2010-5-2 17:55:01 |只看作者 |坛友微信交流群
写的很简单
如要变量多 数据量大
变量不一样的时就rename吧
一样的话写个宏吧
sushe1527来完成

使用道具

板凳
crackman 发表于 2010-5-2 17:56:41 |只看作者 |坛友微信交流群
如果P值接近0.05而且有些格子数目为0 考虑用FISHER精确检验的P值
不过数据量大变量多的时候FISHER检验会很慢

使用道具

报纸
sushe1527 发表于 2010-5-2 17:59:00 |只看作者 |坛友微信交流群
crackman 发表于 2010-5-2 17:55
写的很简单
如要变量多 数据量大
变量不一样的时就rename吧
一样的话写个宏吧
sushe1527来完成
这点小事你就一起写了吧

使用道具

地板
crazygoing 发表于 2010-5-2 21:31:06 |只看作者 |坛友微信交流群
感谢crackman!我研究下

使用道具

7
jingju11 发表于 2010-5-3 12:35:28 |只看作者 |坛友微信交流群
crackman 发表于 2010-5-2 17:52
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
age 也用freq?fisher 不慢才怪?

使用道具

8
crackman 发表于 2010-5-3 17:43:54 |只看作者 |坛友微信交流群
7# jingju11
呵呵
首先第一个就是这个样本数据集我不知道楼主的详细意思
只是针对问题来进行的解答
当然 AGE是年龄,如果是连续性变量而且变量值跨度很大就不能FREQ了,会很麻烦
如果把年龄分组,例如60岁以上,50-60,40-50这样子划分,可以用FREQ的

使用道具

9
crazygoing 发表于 2010-5-3 19:15:28 |只看作者 |坛友微信交流群
这里的age是已经分过组的

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 19:29