楼主: hiderm
50763 15

[数据管理求助] 求助:如何让stata 计算出变量的p20 p80 这样的百分位数? [推广有奖]

已卖:5227份资源

院士

59%

还不是VIP/贵宾

-

威望
1
论坛币
59505 个
通用积分
4044.5148
学术水平
253 点
热心指数
332 点
信用等级
219 点
经验
76220 点
帖子
2202
精华
1
在线时间
2767 小时
注册时间
2006-6-3
最后登录
2025-9-20

楼主
hiderm 发表于 2014-8-3 19:49:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
同主题, 利用
sum varname, detail
或者
tabstat varname, s(p1 p5 p10 p25 p50 p75 p90 p95 p99)
只能在输出结果中得到给定的 百分位数的统计值
如果想计算出某个变量或某些变量的 p15 p20 p80 p85 这样非标准化的百分位数统计值, 该如何操作呢?




二维码

扫码加我 拉你入群

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

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

关键词:Stata 百分位数 tata 分位数 tabstat 如何

[b][color=Red]提请应助者注意:请不要上传draft或者wp版本,谢谢!因为这些版本我自己用谷歌搜索就可以搜到并免费下载

沙发
abjstroller 发表于 2014-8-4 18:35:28
xtile varname2=varname, nq(100)
sort varname2
duplicates list varname2 varname
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
crystal8832 + 10 + 1 + 1 热心帮助其他会员

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

藤椅
hiderm 发表于 2014-8-4 21:01:04
abjstroller 发表于 2014-8-4 18:35
xtile varname2=varname, nq(100)
sort varname2
duplicates list varname2 varname
多谢回复和指教, 我去试试看!
请问: 如下注释正确吗?
实话实说, 虽然我参考帮助文件对您给出的每条命令的含义大体弄明白了, 但是您这几条命令的思路还是没有琢磨出来, 可否请您再给具体解释一下, 多谢啦!

xtile varname2=varname, nq(100)      /* 创建名为 varname2 的新变量, 按照百分位数对 名为 varname 的变量进行分类,
                                                               nq(100) 选项 表示 百分位数的个数是100个, 即 每1%作为一个分段点.
                                                           */
sort varname2                                    // 将数据集中的obs 按照 新变量 varname2 进行排序
duplicates list varname2 varname        // 列出 变量 varname2 和 变量 varname 中 重复的 obs
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小鱼果酱 + 1 + 1 + 1 分析的有道理
crystal8832 + 10 + 1 + 1 分析的有道理

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

板凳
abjstroller 发表于 2014-8-8 22:36:52
基本就是你理解的,最后一条命令主要考虑样本数大于100情况下,按百分比从低到高排列样本
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小鱼果酱 + 2 + 2 + 2 热心帮助其他会员
crystal8832 + 10 + 1 热心帮助其他会员

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

报纸
sr289 发表于 2014-12-30 11:04:54
_pctile length, nq(10)

地板
听雨廊桥 学生认证  发表于 2017-6-22 20:10:13
厉害这个命令,一下子就出来了

7
黃河泉 在职认证  发表于 2017-6-23 09:13:03
试试
  1. webuse grunfeld, clear
  2. sum invest, detail
  3. // percentile = 10
  4. egen invest10 = pctile(invest), p(10)
复制代码

8
甜甜圈好好吃 发表于 2017-8-10 06:20:42
黃河泉 发表于 2017-6-23 09:13
试试
这个命令好用~

9
zouwenjx 学生认证  发表于 2020-2-28 10:38:41
_pctile invest, p(10 90)  
return list   
gen invest9_1 =r(r2)/r(r1)

10
P_Yu 学生认证  发表于 2020-4-17 21:28:05
只要利用centile的功能就行了

  1. centile 变数, centile(1, 2, 3, 15, 20, 85, 80, 97, 98, 99)
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
dengjie11090028 + 1 + 1 + 1 精彩帖子
僧究研 + 5 + 1 + 1 + 1 精彩帖子

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

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

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