为什么不用stata呢,stata里面实现很简单。
Examples
Setup
. webuse womenwk
Obtain full ML estimates
. heckman wage educ age, select(married children educ age)
Obtain Heckman's two-step consistent estimates
. heckman wage educ age, select(married children educ age) twostep
Define and use each equation separately
. global wage_eqn wage educ age
. global seleqn married children age
. heckman $wage_eqn, select($seleqn)
Use a variable to identify selection
. generate wageseen = (wage < .)
. heckman wage educ age, select(wageseen = married children educ age)
Specify robust variance
. heckman wage educ age, select(married children educ age) vce(robust)
Specify clustering on county
. heckman $wage_eqn, select($seleqn) vce(cluster county)
Report first-step probit estimates
. heckman wage educ age, select(married children educ age) first
Create mymills containing nonselection hazard
. heckman $wage_eqn, select($seleqn) mills(mymills)
No constant in model
. heckman wage educ age, noconstant select(married children educ age)
No constant in selection equation
. heckman wage educ age, select(married children educ age, noconstant)