我使用 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 可以提供解决方案,但不是我寻求的解决方案。我想我已经读过问题出在下面运行的矩阵数学中(奇点可以防止反转,也许?)。有没有办法获得我想要的解决方案,也许可以解决?
最佳答案
这是 tobit-2 模型,因此您假设您只观察 lfp=1 的人的 faminc。因此,对于观察到的结果,lfp 始终为 1。因此它不被识别(与常量分开)。
有一个新版本的 sampleSelection 可以做到这一点(目前在分支/treatReg 中的 r-forge 下)。希望能在几周内把它弄出来。
关于r - 为什么我不能将选择方程中的因变量用作结果方程中的自变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30766050/