全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3962 2
2015-03-28
悬赏 15 个论坛币 已解决
各位大神,sas小白一枚,有一组score数据,想按照score变量百分位数(即前20%,20-40%,40-60%。。。)统计变量a的频数和百分比,不知道怎么实现呀。能否帮帮忙,不胜感激~~~

a   score
1     1
1     3
1     5
1     2
2     7
2     4
2     3
2     6
2     9

最佳答案

天穹下 查看完整内容

data m; input a x; cards; 1 1 1 3 1 5 1 2 2 7 2 4 2 3 2 6 2 9 ; proc sql; create table m as select *, count(x) as sum from m; quit; data m; set m; length group $10.; pctn=_n_/sum; if pctn
二维码

扫码加我 拉你入群

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

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

全部回复
2015-3-28 10:40:02
data m;
input a x;
cards;
1     1
1     3
1     5
1     2
2     7
2     4
2     3
2     6
2     9
;
proc sql;
create table m as
select *, count(x) as sum
from m;
quit;
data m;
set m;
length group $10.;
pctn=_n_/sum;
if pctn<=0.2 then group='20%';
else if 0.2<pctn<=0.4 then group='20-40%';
else if 0.4<pctn<=0.6 then group='40-60%';
  else if 0.6<pctn<=0.8 then group='60-80%';
   else if 0.8<pctn then group='>80%';
run;
proc tabulate data=m;
class a group;
table group,a*(n pctn);
run;
二维码

扫码加我 拉你入群

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

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

2015-3-29 09:26:42
天穹下 发表于 2015-3-28 10:40
data m;
input a x;
cards;
非常感谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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