全部版块 我的主页
论坛 站务区 十一区 新手入门区
5019 6
2015-11-08
如何对class_1数据集中的num求百分比?
前提是这样的数据集
data class;
        set sashelp.class;
run;

proc sql;
        create table class_1 as
        select age, count(distinct name) as num
        from class
        group by age;
quit;
图片1.jpg

我的目的是对num中的频数求百分比,例如,年龄11岁的百分比为2/19,年龄12岁的百分比为5/19……
以下代码得到的结果不是我想要的
proc tabulate data=class_1 missing;
        var num;
        class age;
        table age all, num pctn*f=8.2;
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2015-11-8 21:13:20
这个很简单!就是把num作为权重计算频数而已~~
data class_1missing;
input age num@@;
cards;
11 2 12 5 13 3 14 4 15 4 16 1
;
run;
proc freq data=class_1missing;
weight num;
tables age;
run;
`I48UKVY`Y[4Q4TJD[A0Y[E.png
希望对你有帮助


二维码

扫码加我 拉你入群

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

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

2015-11-9 08:37:32
hao136986 发表于 2015-11-8 21:13
这个很简单!就是把num作为权重计算频数而已~~
data class_1missing;
input age num@@;
用proc tabulate是如何实现呀?
二维码

扫码加我 拉你入群

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

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

2015-11-9 10:20:05
linzhjbtx 发表于 2015-11-9 08:37
用proc tabulate是如何实现呀?
sorry,tabulate这个相关语句没有接触过,不过看完SAS help中的语句介绍,感觉这个语句基本上需要两个变量才能输出来一个表,而你的貌似是age作为变量,num作为频数而已,算不上变量的~~~我···无能为力了
https://support.sas.com/document ... .htm#a002473736.htm
二维码

扫码加我 拉你入群

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

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

2015-11-9 10:45:53
hao136986 发表于 2015-11-9 10:20
sorry,tabulate这个相关语句没有接触过,不过看完SAS help中的语句介绍,感觉这个语句基本上需要两个变量 ...
有没有SAS的微信交流群?
二维码

扫码加我 拉你入群

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

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

2015-11-9 16:47:29
linzhjbtx 发表于 2015-11-9 10:45
有没有SAS的微信交流群?
我还属于编程中的底层屌丝,微信群神马的,不造呀!
不过,能解决问题就好啦。其实,我觉得在计算百分比上,proc freq的应用可能更多一些。
然后加入
ods  HTML  FILE='E:\RESULT.xls'  ;
proc freq;
·····
ODS HTML CLOSE;       
就可以输入到excel表格中。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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