eme*_*lle 5 unique count stata
codebook在 Stata 中是一个很棒的命令。它描述了数据内容,但也简单地标识了唯一值
sysuse auto, clear
codebook mpg, compact
Run Code Online (Sandbox Code Playgroud)
mpg 的唯一值数为 21。查看命令的帮助,似乎无法存储此值。我错了吗?
我知道在 Stata 中计算唯一值数量的其他方法,但是将此功能添加到codebook命令中会非常方便。
您可以轻松地编写一个包装器codebook,使用distinct来自 SSC 的Nick命令将您想要的信息存储为标量。
根据我的经验,这种包装方法已被证明比要求 StataCorp 的好人在他们不参与的互联网论坛上更改他们的命令要有效得多。
下面是一个例子:
* (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
Run Code Online (Sandbox Code Playgroud)
最后一部分将为您提供:
. 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
Run Code Online (Sandbox Code Playgroud)
然后你可以做这样的事情(或者你想做的任何事情):
gen x=r(nv_rep78)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19932 次 |
| 最近记录: |