falsch Sie leicht einen Wrapper für codebook
die distinct
Befehl von SSC Nick nutzt schreiben können die Informationen, die Sie als skalare speichern möchten (s).
Nach meiner Erfahrung hat sich diese Wrapper-Ansatz bewährt viel effektiver sein als die netten Leute bei StataCorp fragen ihren Befehl auf einem Internet-Forum, dass sie in nicht teilnehmen zu ändern
Hier ein Beispiel:.
/* (1) You can stick this into a file called mycodebook.ado in /ado/personal (use adopath to see exact location) */
capture program drop mycodebook
program mycodebook, rclass
syntax [varlist] [if] [in][, *]
codebook `varlist' `if' `in', `options'
capture ssc install distinct
foreach var of varlist `varlist' {
qui distinct `var' `if' `in'
return scalar nv_`var' = r(ndistinct)
}
end
/* (2) example with mycodebook */
sysuse auto, clear
mycodebook price mpg rep78 if foreign==0, compact
return list
wird dieser letzte Teil, den Sie geben:
. mycodebook price mpg rep78 if foreign==0, compact
Variable Obs Unique Mean Min Max Label
-------------------------------------------------------------------------------------------------
price 52 52 6072.423 3291 15906 Price
mpg 52 17 19.82692 12 34 Mileage (mpg)
rep78 48 5 3.020833 1 5 Repair Record 1978
-------------------------------------------------------------------------------------------------
. return list
scalars:
r(nv_rep78) = 5
r(nv_mpg) = 17
r(nv_price) = 52
Sie dann Dinge tun kann, wie (oder was auch immer es ist, wollen Sie mit diesen zu tun):
gen x=r(nv_rep78)
'codebook' speichert nicht die Anzahl dessen, was es als eindeutige Werte meldet. Für eine Überprüfung dieses Gebiets, siehe http://www.stata-journal.com/sjpdf.html?articlenum=dm0042 –
Danke Nick für diese nützliche Referenz. – emeryville