如何编写代码来查找stata中变量的中位数

时间:2013-09-11 09:02:56

标签: stata median

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

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...)

1 个答案:

答案 0 :(得分:2)

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

如果您坚持重新创建方向盘,那么您可以在程序中使用sort,但在程序结束后保留​​数据的排序顺序,方法是将sortpreserve选项添加到行{{1} },见:http://www.stata.com/help.cgi?program。这应该使程序更简单,因此更容易调试。