请选择 进入手机版 | 继续访问电脑版
楼主: luanzhuna
9534 6

sas取五分位数 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

大专生

30%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
482 点
帖子
38
精华
0
在线时间
23 小时
注册时间
2015-6-10
最后登录
2017-10-23

luanzhuna 发表于 2016-12-20 23:05:01 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
SAS怎么取五分位数呢,好像是用proc rank,如果按年分组,对newx取五分位数,产生新的变量r_1,这样写程序对吗?ties=mean是干嘛的呢?

proc rank data=a out=b ties=mean groups=5;
          var newx;
          ranks r_1;
                  by year;
     run;

二维码

扫码加我 拉你入群

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

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

关键词:分位数 Groups Group Ranks Rank groups 程序

mich_ard 发表于 2016-12-21 04:54:53 |显示全部楼层 |坛友微信交流群
分位数可以用univariate或capability求。对非常用的分位数,需要加入下列语句:
pctlpre=p
pctlpts=(分位数1,分位数2 ....);

这里有好多例子:http://www.ats.ucla.edu/stat/sas/faq/percentiles.htm

proc rank 是用来给数据排名次的,用它来求五分位数,我很怀疑是否可行。group虽然可以将你的数据分成5部分,但仅此而已,没有其他计算。

另外,ties=mean是对proc rank 遇到相同名次的一种处理方式,它其实有几个options,大概是这样滴,举个例子:假如你有5个数据,大小顺序是:3,8,8,11,15,排名是1 ... 5名。

ties=mean将显示1,2.5,2.5,4,5名。(这也是default方式,所以其实没必要写出来);

ties=low,将显示1,2,2,4,5。

ties=high,将显示1,3,3,4,5。

ties=dense,将显示1,2,2,3,4。(没有第5名。
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
lovexialulu + 1 + 1 + 1 热心帮助其他会员
prince315 + 20 + 5 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 20  论坛币 + 5  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

luanzhuna 发表于 2016-12-21 23:22:07 |显示全部楼层 |坛友微信交流群
mich_ard 发表于 2016-12-21 04:54
分位数可以用univariate或capability求。对非常用的分位数,需要加入下列语句:
pctlpre=p
pctlpts=(分位 ...
我的意思是按照五分位数分成五组,就是会在原始数据后面增加一个变量prop,取五个值代表五组,你说的这个只能求出对应的数字,不能分组

使用道具

Bel-esprit 发表于 2016-12-30 15:32:32 |显示全部楼层 |坛友微信交流群
取出四个5分位数,然后left join到原数据表上,形成四个变量p20、p40、p60、p80
然后利用if var le p20 then group=1;else if var gt p20 and var le p40 then group=2巴拉巴拉

使用道具

Bel-esprit 发表于 2016-12-30 15:32:46 |显示全部楼层 |坛友微信交流群
取出四个5分位数,然后left join到原数据表上,形成四个变量p20、p40、p60、p80
然后利用if var le p20 then group=1;else if var gt p20 and var le p40 then group=2巴拉巴拉

使用道具

Bel-esprit 发表于 2016-12-30 15:32:57 |显示全部楼层 |坛友微信交流群
取出四个5分位数,然后left join到原数据表上,形成四个变量p20、p40、p60、p80
然后利用if var le p20 then group=1;else if var gt p20 and var le p40 then group=2巴拉巴拉

使用道具

mich_ard 发表于 2016-12-21 04:54
分位数可以用univariate或capability求。对非常用的分位数,需要加入下列语句:
pctlpre=p
pctlpts=(分位 ...
学习了,谢谢!

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-28 16:34