我使用sampleSelection包中的示例,其中我将结果方程的因变量切换为家庭收入,因为我希望女性的劳动力参与(lfp)是一个逻辑决定因素。
library("sampleSelection")
data( Mroz87 )
Mroz87$kids <- ( Mroz87$kids5 + Mroz87$kids618 > 0 )
selection2 <- selection(selection = lfp ~ age + I(age^2) + faminc + kids + educ,
outcome = faminc ~ lfp + wage + age + exper,
data = Mroz87, method = "2step")
我的问题是在结果方程中添加lfp作为自变量会阻止解决方案。我明白了:
Error in solve.default(crossprod(xMat)) :
Lapack routine dgesv: system is exactly singular: U[6,6] = 0
从结果中删除lfp允许解决方案,但不是我寻求的解决方案。我想我已经读到问题出在下面运行的矩阵数学中(奇点可以防止反转,也许?)。有没有办法得到我想要的解决方案?请帮忙。
答案 0 :(得分:0)
这是tobit-2模型,因此你假设你只为那些有lfp = 1的人观察faminc。因此,对于观察到的结果,lfp始终为1。因此,它不被识别(与常数分开)。
有一个新版本的sampleSelection即将发布(目前在branches / treatReg中使用r-forge)。希望在几周内完成它。