楼主: crazygoing
2531 8

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

  • 0关注
  • 47粉丝

已卖:716份资源

教授

29%

还不是VIP/贵宾

-

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

楼主
crazygoing 发表于 2010-5-2 17:20:00 |AI写论文

+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
拉您进交流群
GMT+8, 2025-12-30 03:01