2015-01-15 2 views
2

Есть ли способ включить категориальные переменные (факторы с несколькими уровнями факторов) при использовании plm() для объединенных OLS? Насколько я понимаю, в plm() все переменные должны быть числовыми, что не будет работать в моем случае. Я мог бы включить одну фиктивную переменную для каждого уровня фактора, однако это привело бы к большему числу переменных, которые на самом деле являются лишь уровнями значительно меньшего числа факторов.Как включить категориальные переменные в объединенные OLS с помощью plm()?

Я задал аналогичный вопрос на CrossValidated и был бы благодарен за любую помощь.

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

ответ

1

Вы можете легко включать как числовые, так и категориальные переменные переменных в plm() и lm().

require(plm) 
data(Males) 
head(Males[1:6]) 
# nr year school exper union ethn 
# 1 13 1980  14  1 no other 
# 2 13 1981  14  2 yes other 
# 3 13 1982  14  3 no other 
# 4 13 1983  14  4 no other 
# 5 13 1984  14  5 no other 
# 6 13 1985  14  6 no other 

coef(lm(wage ~ school + union + ethn, data=Males)) 
# (Intercept)  school unionyes ethnblack ethnhisp 
# 0.7148  0.0767  0.1930  -0.1523  0.0134 

coef(plm(wage ~ school + union + ethn, data=Males, model="pooling")) 
# (Intercept)  school unionyes ethnblack ethnhisp 
# 0.7148  0.0767  0.1930  -0.1523  0.0134 

Как вы можете видеть, вы можете иметь как фиктивные, так и категориальные переменные в обоих случаях.

+0

спасибо. Я где-то читал, что это не сработает, и я использовал сообщение об ошибке при включении факторов, но, очевидно, проблема была в чем-то еще ... – Aki

+0

Я бы заподозрил, что вы ударились головой о факторные контрасты. См. Http://stackoverflow.com/questions/3445316/factors-in-r-more-than-an-annoyance и http://stackoverflow.com/questions/2352617/how-and-why-do-you-use -contrasts-в-г. – landroni

Смежные вопросы