楼主: redaring
13723 5

[原创博文] 求教,怎么计算第97和3百分位数上的值? [推广有奖]

  • 0关注
  • 0粉丝

硕士生

21%

还不是VIP/贵宾

-

威望
0
论坛币
48 个
通用积分
0.0600
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
4910 点
帖子
102
精华
0
在线时间
123 小时
注册时间
2009-11-22
最后登录
2018-2-15

楼主
redaring 发表于 2010-4-28 01:14:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
用proc univariate 可以求得95%,5%,99%,1%上的值,可是我想求97%,3%或者其他百分位数上的值,要怎么求呢?

我的数据格式是这样的:

var1 var2 var3 var4 var5
111  1991 12   001  125
111  1992 12   001  543
111  1993 12   001  712
111  1994 12   001  258
111  1991 11   013  853
111  1992 11   013  592
111  1993 11   013  421
214  1991 02   001  125
214  1992 02   001  503
214  1993 02   001  612
214  1994 02   001  359
214  1991 10   011  853
214  1992 10   011  572
214  1993 10   011  421

我想要求的是var1、var3、var4 相同时,var5按升序排列后97%和3%的值(或者其他不同的百分位),然后输出到一个新的数据集中。
原来求95%和5%的值时我是这么写的:

proc univariate data = temp noprint;
var  var5;
by var1 var3 var4;
output out = dataset p5=p5 p95=p95 p1=p1 p99=p99;
run;  

希望大虾们指教,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:百分位数 分位数 Univariate Variate dataset

回帖推荐

gerry111 发表于2楼  查看完整内容

试试下面的代码 proc univariate pctldef=4 data=temp; var var5; output out=Pctls pctlpts = 3 97 pctlpre=pred pctlname =p3 p97; run;

沙发
gerry111 发表于 2010-4-28 08:37:53
试试下面的代码
proc univariate pctldef=4 data=temp;
var var5;   
output out=Pctls pctlpts  = 3 97
  pctlpre=pred                                             
  pctlname =p3 p97;         
run;
已有 2 人评分经验 论坛币 热心指数 收起 理由
bakoll + 3 + 3 精彩帖子
crackman + 1 正解

总评分: 经验 + 3  论坛币 + 3  热心指数 + 1   查看全部评分

藤椅
crackman 发表于 2010-4-28 11:14:47
proc univariate pctldef=4   data=temp;/*为univariate过程指定分位数计算的数学定义方法,一般是1-5*/
var var5;   
output out=Pctls pctlpts  = 3 97 /*制定所输出的百分位数*/
  pctlpre=pred     /*制定输出的百分位数指定变量名称的前缀*/                                       
  pctlname =p3 p97;  /*后缀,你可以尝试把P3 P97位置换一下?会有什么影响*/        
run;

板凳
hongxx 发表于 2010-4-30 21:01:26
proc kde好像也可以。如果是两变量,kde是个解决的方法。

报纸
lion2005 发表于 2016-10-30 10:51:53
crackman 发表于 2010-4-28 11:14
proc univariate pctldef=4   data=temp;/*为univariate过程指定分位数计算的数学定义方法,一般是1-5*/
v ...
请问第一步中的1~5什么意思啊,为什么不同的数结果不同

地板
peking198 发表于 2016-10-30 20:58:06 来自手机
同问1-5什么意思呢?谢谢

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 16:29