Wie schreibt man den code für den median einer variable in stata
Frage ich mich, wie man die codes für die Suche nach dem median für eine variable in stata, ohne mit sort
, egen
, summarize
. Dies ist, was ich so weit gekommen:
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...)
- Beachten Sie, dass Sie Ihre eigenen Schleifen über Beobachtungen zum scheitern verurteilt ist, zu viel, viel langsamer als Stata-internen code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
centile
Befehl haben Sie den median direkt.Wenn Sie darauf bestehen, auf die Wiederherstellung des Rades, dann können Sie
sort
in Ihrem Programm, aber lassen Sie die sortorder der Daten unverändert, nachdem das Programm beendet, indem diesortpreserve
option, um die Zeileprogram find_median
finden Sie unter: http://www.stata.com/help.cgi?program. Das sollte das Programm viel einfacher und damit leichter zu Debuggen.