全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7244 11
2010-06-04
想知道为什么SAS中用tabulate做表时,并列关系的变量其中一个缺失,另一个也不计算了呢?
例如:
data a;
input v1 v2;
cards;
1 2
. 1
2 .
;
run;
proc tabulate data=a;
class V1 V2;
table (V1 V2)*n;
run;
结果就是 V1  V2
                 1     1
但是如果求和的话就不会有这个问题,
proc tabulate data=a;
var V1 V2;
table (V1 V2)*sum;
run;
结果为 V1 V2
             3    3
这是为什么啊,怎么样才能让他们各算各的啊,否则会损失很多信息啊,谢谢大家了!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-6-4 16:39:08
楼主是想要什么结果呢?
仅是这样的计算 不至于用tabulate
二维码

扫码加我 拉你入群

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

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

2010-6-4 16:44:30
2# 醉_清风


您好,主要是要做很多变量的比例,比如说V1和V2中各自取1的比例,但如果是SAS中的那种做法的话,就变成两者都不缺失的数据量了,损失了很多信息,不知道我说明白了吗?
二维码

扫码加我 拉你入群

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

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

2010-6-4 16:49:30
如果只是为了算取值1的占比的话
proc sql;
        create table aa as
        select    sum(case when v1=1 then 1 else 0 end)/count(*) as v1_1_per
                     ,sum(case when v2=1 then 1 else 0 end)/count(*) as v2_1_per
        from a;
quit;
二维码

扫码加我 拉你入群

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

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

2010-6-4 16:52:11
tabulate过程 主要是用来进行变量的交叉式统计展示
单变量统计可以考虑用freq等过程或者sql data步
二维码

扫码加我 拉你入群

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

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

2010-6-4 16:54:40
4# 醉_清风

不只要算是1的比例,还有很多类似的报表,希望得到统一美观的报表,所以用tabulate过程,不知道tabluta有没有其他选项可以更改这种做法啊?谢谢啊
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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