Моя панель линейной регрессии с переменными журнала возвращает ошибку для не конечных значений, но нет журналов с нулевыми или отрицательными значениями - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь запустить фиксированную регрессию эффектов в данных панели (используя пакет plm). Регрессия на уровнях работала хорошо, поэтому в качестве первых регрессий использовались логарифмические переменные (я ставлю логарифмированные только зависимые и некоторые независимые переменные, которые в денежном выражении). Однако мои регрессии с логами перестали работать.

require (AER)
library (AER)
require(plm)
library("plm")

#Indicates the panel and the time and individual columns
dd <- pdata.frame(painel, index = c ('Estado', 'Ano'))

#Model 1 - Model within with individual fixed effects

mod_1_within <- plm(PIB ~ txinad + op + desoc + Divliq + Esc_15 + RT + DC + DK + Gini + I(DK*Gini) + I(DC*Gini), data = dd, effect = 'individual')
summary (mod_1_within)

#this worked well

#Model 2 - Model 1 with the monetary variables in log (the others are % or indexes):

mod_1_within_log<- plm(log(PIB) ~ txinad + log(RT) + op + desoc + Divliq + Esc_15 + log(DC) + log(DK) + Gini + I(Gini*log(DC)) + I(Gini*log(DK)), data = dd, effect = 'individual')
summary (mod_1_within_log)

#This returns:

> mod_1_within_log<- plm(log(PIB) ~ txinad + log(RT) + op + desoc + Divliq + Esc_15 + log(DC) + log(DK) + Gini + I(Gini*log(DC)) + I(Gini*log(DK)), data = dd, effect = 'individual')
Error in model.matrix.pdata.frame(data, rhs = 1, model = model, effect = effect,  : 
  model matrix or response contains non-finite values (NA/NaN/Inf/-Inf)
> summary (mod_1_within_log)
Error in summary(mod_1_within_log) : object 'mod_1_within_log' not found

Это происходит, даже если нет лог-переменных с отрицательными или нулевыми значениями. Я воспользуюсь этой возможностью, чтобы задать другой вопрос: если есть переменная с нулевым значением, есть ли способ, которым я могу сделать это значение нулевым, и они берут журнал этой переменной?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...