全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3479 4
2015-09-24
对于一个分类变量,如果某一类频数为0,怎么进行结果输出?
比如性别男女,结果人群中都是男,怎么直接通过程序输出频数结果
数据如下:1-男,2-女
姓名    性别
小李    1
小张    1
小王    1

求如下结果
  例数              男                 女
    3            3(100%)      0(0%)
二维码

扫码加我 拉你入群

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

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

全部回复
2015-9-24 11:56:48
提示: 作者被禁止或删除 内容自动屏蔽
二维码

扫码加我 拉你入群

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

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

2015-9-24 12:51:12
data a;
        input name$ sex;
cards;
小李 1
小张 1
小王 1
;
run;

proc sql noprint;
        create table b as
        select count(distinct name) as n,sex from a group by sex;
quit;

proc transpose data=b out=c(drop=_name_) prefix=c;
        id sex;
        var n;
run;

data d;
        length c9 c1 c2 8 col1 col2 $20;
        set c;
        if missing(c1) then c1=0;
        if missing(c2) then c2=0;
        c9=c1+c2;
        col1=strip(put(c1,best.))||'('||strip(put(c1/c9,percent6.))||")";
        col2=strip(put(c2,best.))||'('||strip(put(c2/c9,percent6.))||")";
        keep c9 col1 col2;
run;
二维码

扫码加我 拉你入群

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

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

2015-9-24 13:51:33
谢谢,能不能通过proc freq 实现这种要求
二维码

扫码加我 拉你入群

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

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

2015-9-24 14:13:29
yaniwei1314 发表于 2015-9-24 13:51
谢谢,能不能通过proc freq 实现这种要求
proc freq data=a;
        table sex;
        ods output OneWayFreqs=freq;
run;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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