楼主: jqcat
7702 4

[一般统计问题] Stata百分位数计算结果为何不相同 [推广有奖]

  • 0关注
  • 0粉丝

大专生

60%

还不是VIP/贵宾

-

威望
0
论坛币
1143 个
通用积分
0.7500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
155 点
帖子
7
精华
0
在线时间
110 小时
注册时间
2013-12-31
最后登录
2025-9-16

楼主
jqcat 发表于 2014-10-3 22:41:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人刚接触Stata,今天发现Stata中codebook命令给出的变量的百分位数结果与centile命令给出的结果不同。比如一列简单数据:1,2,3,4,5,6,7,8,9,10。codebook命令90%结果为9.5,而centile varlist,centile(90)命令90%结果为9.9。
想了半天,猜测可能计算公式用的不一样。百度了一下,确实有两种计算方法:
第一种方法
第1步:以递增顺序排列原始数据(即从小到大排列)。
第2步:计算指数i=np%
第3步:1)若 i 不是整数,将 i 向上取整。大于i的毗邻整数即为第p百分位数的位置。
            2)若 i 是整数,则第p百分位数是第i项与第(i+1)项数据的平均值。


第二种方法,这种方法是SPSS所用方法,也是SAS所用方法之一。
第一步:将n个变量值从小到大排列,X(j)表示此数列中第j个数。
第二步:计算指数,设(n+1)P%=j+g,j为整数部分,g为小数部分。
第三步:1)当g=0时:P百分位数=X(j);
             2)当g≠0时:P百分位数=g*X(j+1)+(1-g)*X(j)=X(j)+g*[X(j+1)-X(j)]。

在这里向高手们请教,为何Stata里连这种基本计算都不一致,这么做有什么道理吗?而且好像第二种百分位数计算方法现在用的比较多啊。



二维码

扫码加我 拉你入群

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

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

关键词:Stata 百分位数 tata 分位数 codebook 计算方法 百度 平均值

沙发
ermutuxia 发表于 2014-10-8 10:41:28
每个软件关于中位数的计算确实不尽相同,具体选择哪一种需要由你自己决定,如果你的变量是连续变量的话,而且观测值比较多,几种计算结果相差不大
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
SpencerMeng + 20 + 1 + 1 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 1  热心指数 + 1   查看全部评分

藤椅
jqcat 发表于 2014-10-8 11:02:02
ermutuxia 发表于 2014-10-8 10:41
每个软件关于中位数的计算确实不尽相同,具体选择哪一种需要由你自己决定,如果你的变量是连续变量的话,而 ...
谢谢指点!
我的疑问还是stata软件内为何不统一算法呢?或者在文档中详细说明一下也好。

板凳
蓝色 发表于 2014-10-8 13:11:19
不是stata手册不说
是你自己没有看到而已
页面提取自-d.jpg 页面提取自-r_页面_1.jpg 页面提取自-r_页面_2.jpg 页面提取自-r-2_页面_1.jpg 页面提取自-r-2_页面_2.jpg
已有 2 人评分经验 论坛币 学术水平 热心指数 收起 理由
ermutuxia + 1 + 10 精彩帖子
crystal8832 + 12 + 1 + 1 热心帮助其他会员

总评分: 经验 + 1  论坛币 + 22  学术水平 + 1  热心指数 + 1   查看全部评分

报纸
jqcat 发表于 2014-10-8 22:48:16
蓝色 发表于 2014-10-8 13:11
不是stata手册不说
是你自己没有看到而已
非常感谢!自己还是没有仔细看手册呀!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-7 11:18