楼主: smile5152003
2062 3

freq和tabulate的结果怎么不一样? [推广有奖]

  • 1关注
  • 0粉丝

已卖:1份资源

本科生

54%

还不是VIP/贵宾

-

威望
0
论坛币
237 个
通用积分
0.3000
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
1148 点
帖子
101
精华
0
在线时间
62 小时
注册时间
2009-7-14
最后登录
2021-4-17

楼主
smile5152003 发表于 2011-11-17 15:06:03 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我在用freq和tabulate分别做四格表,写的程序如下,我认为,以下三组程序所产生的结果应该是一样的:
第一组:
proc freq data=a;
tables v012*sex/nocol norow nopercent;
tables v013*sex/nocol norow nopercent;
run;
第二组:
proc tabulate data=a;
class v012 sex;
tables (v012='' all='合计'), (all='合计' sex='')* n='';
run;
proc tabulate data=a;
class v012 v013 sex;
tables (v013='' all='合计'), (all='合计' sex='')* n='';
run;
第三组:
proc tabulate data=a;
class v012 v013 sex;
tables (v012='' all='合计'), (all='合计' sex='')* n='';
tables (v013='' all='合计'), (all='合计' sex='')* n='';
run;
但是事实上,这三组得出的四格表中的数据都不一样。更为可笑的就是第二和第三组,我只是把两个tables语句合在一个tabulate过程中,但居然和分开为两个tabulate过程的结果不一样。
现附上数据。
请高手运算以下,看是不是我的sas出了问题,还是我自己的知识出了问题。难道这三组程序不等价么?非常疑惑,求解!
data.xls (57.5 KB)
二维码

扫码加我 拉你入群

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

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

关键词:Tabulate Late freq ATE REQ tables 程序

沙发
smile5152003 发表于 2011-11-17 15:16:31
另外,看合计项就能看出这三组的统计结果不一样的

藤椅
smile5152003 发表于 2011-11-18 09:38:58
继续继续!!

板凳
woodolt 发表于 2012-2-2 14:12:56
数据库存在缺失值的问题,
proc tabulate data=a;
class v013 sex;/*把012变量去掉,第二组的结果就跟freq 一样了*/
tables (v013='' all='合计'), (all='合计' sex='')* n='';
run;

另第三组
proc tabulate data=a;
class v012 v013 sex/missing;/*把缺失值算进去,结果就跟freq一样了*/
tables (v012='' all='合计'), (all='合计' sex='')* n='';
tables (v013='' all='合计'), (all='合计' sex='')* n='';
run;

算频数的时候,class 后若跟多个变量,只计算无缺失的记录

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 07:51