Stata:egen rowpctile 一系列值而不是单个百分位值
Stata: egen rowpctile a range of values instead of single percentile value
我有一个包含许多缺失值的变量 var
,我想为其计算第 95 个百分位,然后使用此值删除高于第 95 个百分位的观察值(对于那些不缺失变量的观察值).
由于有很多缺失值,我使用 egen
和 rowpctile
来计算 p(#)
百分位数,忽略缺失值。然而,当我查看 p95 值时,它们是一系列不同的值,而不是如下所示的单个第 95 个百分位值:
. egen p95 = rowpctile(var), p(95)
. list p95
+-----------+
| p95 |
|-----------|
1. | . |
2. | 65.71429 |
3. | 14.28571 |
4. | . |
5. | . |
...
我是否错误地使用了这个函数,或者有更好的方法来解决这个问题吗?
egen
命令的 rowpctile
函数为每个观察 分别计算变量列表值的百分位数 。这里有一些技巧可以让您走上正确的道路。
. sysuse auto, clear
(1978 Automobile Data)
. replace price = . in 1/5
(5 real changes made, 5 to missing)
. summarize price, detail
Price
-------------------------------------------------------------
Percentiles Smallest
1% 3291 3291
5% 3748 3299
10% 3895 3667 Obs 69
25% 4296 3748 Sum of Wgt. 69
50% 5104 Mean 6245.493
Largest Std. Dev. 3015.072
75% 6342 13466
90% 11497 13594 Variance 9090661
95% 13466 14500 Skewness 1.594391
99% 15906 15906 Kurtosis 4.555704
. display r(p95)
13466
. generate toobig = price>r(p95)
. list make price if toobig | price==.
+---------------------------+
| make price |
|---------------------------|
1. | AMC Concord . |
2. | AMC Pacer . |
3. | AMC Spirit . |
4. | Buick Century . |
5. | Buick Electra . |
|---------------------------|
12. | Cad. Eldorado 14,500 |
13. | Cad. Seville 15,906 |
27. | Linc. Mark V 13,594 |
+---------------------------+
我有一个包含许多缺失值的变量 var
,我想为其计算第 95 个百分位,然后使用此值删除高于第 95 个百分位的观察值(对于那些不缺失变量的观察值).
由于有很多缺失值,我使用 egen
和 rowpctile
来计算 p(#)
百分位数,忽略缺失值。然而,当我查看 p95 值时,它们是一系列不同的值,而不是如下所示的单个第 95 个百分位值:
. egen p95 = rowpctile(var), p(95)
. list p95
+-----------+
| p95 |
|-----------|
1. | . |
2. | 65.71429 |
3. | 14.28571 |
4. | . |
5. | . |
...
我是否错误地使用了这个函数,或者有更好的方法来解决这个问题吗?
egen
命令的 rowpctile
函数为每个观察 分别计算变量列表值的百分位数 。这里有一些技巧可以让您走上正确的道路。
. sysuse auto, clear
(1978 Automobile Data)
. replace price = . in 1/5
(5 real changes made, 5 to missing)
. summarize price, detail
Price
-------------------------------------------------------------
Percentiles Smallest
1% 3291 3291
5% 3748 3299
10% 3895 3667 Obs 69
25% 4296 3748 Sum of Wgt. 69
50% 5104 Mean 6245.493
Largest Std. Dev. 3015.072
75% 6342 13466
90% 11497 13594 Variance 9090661
95% 13466 14500 Skewness 1.594391
99% 15906 15906 Kurtosis 4.555704
. display r(p95)
13466
. generate toobig = price>r(p95)
. list make price if toobig | price==.
+---------------------------+
| make price |
|---------------------------|
1. | AMC Concord . |
2. | AMC Pacer . |
3. | AMC Spirit . |
4. | Buick Century . |
5. | Buick Electra . |
|---------------------------|
12. | Cad. Eldorado 14,500 |
13. | Cad. Seville 15,906 |
27. | Linc. Mark V 13,594 |
+---------------------------+