0

我想知道如何编写代码以在不使用sort, egen,的情况下在 stata 中查找变量的中位数summarize。这是我到目前为止得到的:

capture program drop find_median
program find_median
    local n = _N
    gen ord=0
    forvalues i= 0/`n' {
        replace ord = `i' if [`1']> [`1'][_n-1] & [`1']> [`1'][_n+1] 
    }
end

find_median (the variables...)
4

1 回答 1

2

centile命令直接为您提供中位数。

如果您坚持重新创建轮子,那么您可以sort在程序中使用,但在程序结束后通过将sortpreserve选项添加到该行来保持数据的排序顺序不变program find_median,请参阅: http: //www.stata.com/help.cgi?程序。这应该使程序更简单,从而更容易调试。

于 2013-09-11T10:13:35.383 回答