2015-06-10 3 views
3

Я использую пример из пакета 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

Ссылка на ваш сайт отключена. – user227710

+0

Не понимаю. Можете ли вы уточнить? –

+0

Вы сказали: «Я видел на этом сайте», но не даю ссылку на сайт. – user227710

ответ

0

Это модель для бит-2, и, следовательно, вы предполагаете, что вы наблюдаете faminc только для тех, у кого есть lfp = 1. Таким образом, lfp всегда 1 для наблюдаемых результатов. Следовательно, он не идентифицируется (отдельно от константы).

Появилась новая версия sampleSelection, которая делает это (в настоящее время под r-forge в ветвях/treatmentReg). Надеюсь вытащить его через пару недель.