在Stata中修剪数据

在Stata中修剪数据,stata,trim,Stata,Trim,我有一个数据集,希望在一端删除1%的数据。例如,我有3000个观察值,我想去掉最高的30个。有这种修剪的命令吗?顺便说一句,我是Stata的新手。如果您知道您的下降截止点,您可以使用: drop if var1>300 这将删除var1超过300的所有行 您可以使用汇总变量1,详细信息获取关键百分位数:它将为您提供1%和99%的百分位数以及其他标准百分位数。您可以在Stata中使用\u pctile sysuse auto, clear _pctile weight, nq(100) r

我有一个数据集,希望在一端删除1%的数据。例如,我有3000个观察值,我想去掉最高的30个。有这种修剪的命令吗?顺便说一句,我是Stata的新手。

如果您知道您的下降截止点,您可以使用:

drop if var1>300
这将删除
var1
超过300的所有行


您可以使用
汇总变量1,详细信息
获取关键百分位数:它将为您提供1%和99%的百分位数以及其他标准百分位数。

您可以在Stata中使用
\u pctile

sysuse auto, clear
_pctile weight, nq(100)
return list  #this is optional 
drop if weight>r(r99) #top 1 percent 

要在stata中选择30个顶部观测值,请使用以下命令:

keep  if (_n<=30 )

只是要指出什么是显而易见的:许多统计人士认为这种数据的下降是一个坏主意。一个相关但不同的点是,这不是修剪的意思,例如修剪的方法,其中极值被忽略,但没有删除
trimmean
(SSC)是一个用户编写的Stata实现。这是一个误导性的回答,没有说明您必须先对
进行排序,然后分别处理缺失的值。
keep if (_n>30)