Stata 如何删除0.1%的最后观察值
我有可变的名称和价格。我想删除每个名字的0.1%的价格观察值 最后的观察结果是价格最高的。没有缺少的值。 如果每个不同的名称至少没有1000个观察值,则只删除最后一个观察值Stata 如何删除0.1%的最后观察值,stata,Stata,我有可变的名称和价格。我想删除每个名字的0.1%的价格观察值 最后的观察结果是价格最高的。没有缺少的值。 如果每个不同的名称至少没有1000个观察值,则只删除最后一个观察值 我如何使用Stata做到这一点呢?我不会仅仅因为某些目的不需要它们就删除那些被认为是指drop的观测值。给定名称的不同值,然后使用新变量NTOFFLAG 如果观察数小于1000,则将自动为0 所以考虑到补充定义 by name: gen long ntokeep = _N - floor(_N/1000) 导致 byso
我如何使用Stata做到这一点呢?我不会仅仅因为某些目的不需要它们就删除那些被认为是指drop的观测值。给定名称的不同值,然后使用新变量NTOFFLAG 如果观察数小于1000,则将自动为0 所以考虑到补充定义
by name: gen long ntokeep = _N - floor(_N/1000)
导致
bysort name (price) : gen flag = _n > (_N - floor(_N/1000))
作为可忽略观测指标的单线解决方案。它的否定是观察使用的指标
然而,这里有一个思想实验。假设你有1000个价格,前7个价格都是999。因此,您希望忽略0.1%=1/1000。你想忽略这7项中的哪一项?现在考虑在同一观测值中其他变量可能有不同的值。简言之,您需要一种明确一致的领带制作方法
为了说明这是如何工作的,这里有一个可重复的实验,适用于任何Stata用户,数据集要小得多,阈值为前5%(按汽车来源)
. sysuse auto, clear
(1978 Automobile Data)
. bysort foreign (price) : gen flag = _n > (_N - floor(0.05 * _N))
. list foreign price if flag
+-------------------+
| foreign price |
|-------------------|
51. | Domestic 14,500 |
52. | Domestic 15,906 |
74. | Foreign 12,990 |
+-------------------+
. bysort foreign : su price
----------------------------------------------------------------------------------
-> foreign = Domestic
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
price | 52 6072.423 3097.104 3291 15906
----------------------------------------------------------------------------------
-> foreign = Foreign
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
price | 22 6384.682 2621.915 3748 12990
最后的观察结果是什么?最新的?价格最高?对于缺少的值,您想做什么?对于每个不同的名称,您是否至少有1000次观察?如果没有,会发生什么?太模糊,尤其是没有任何示例数据或代码尝试。最后的观察结果是什么?价格最高您希望如何处理缺少的值?没有缺少的值。请编辑您的问题,包括我的其他查询的答案。
. sysuse auto, clear
(1978 Automobile Data)
. bysort foreign (price) : gen flag = _n > (_N - floor(0.05 * _N))
. list foreign price if flag
+-------------------+
| foreign price |
|-------------------|
51. | Domestic 14,500 |
52. | Domestic 15,906 |
74. | Foreign 12,990 |
+-------------------+
. bysort foreign : su price
----------------------------------------------------------------------------------
-> foreign = Domestic
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
price | 52 6072.423 3097.104 3291 15906
----------------------------------------------------------------------------------
-> foreign = Foreign
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
price | 22 6384.682 2621.915 3748 12990