Мне нужно запустить регрессию на панели данных. Мои данные смотрят на цены планов гостиничных номеров для двух различных точек наблюдения (даты высокого сезона и даты низкого сезона).
У меня есть эти данные (к сожалению, это упрощенные данные для вопроса, мой фактический набор данных состоит из аналогичных типов 3855 наблюдений за ценами на отели и еще 15 переменных), и я запускаю:
library(plm)
Y <- cbind(cost)
X <- cbind(deluxe, standard, dinner, cancell, capacity, size)
pdata <- pdata.frame(mydata, index = c("ID_roomplan", "season"), drop.index = FALSE)
fixed <- plm(Y ~ X, data = pdata, model = "within")
Я получаю следующее:
Warning message:
In pdata.frame(mydata, index = c("ID_roomplan", "season"), :
duplicate couples (id-time) in resulting pdata.frame
Я понимаю, что это потому, что для работы plm должна быть уникальная пара id-time (то есть ID_roomplan-season) , но я не знаю, как исправить данные, потому что в одном и том же сезоне могут быть одинаковые планы номеров для разных цен из-за различий в вариантах (например, из-за того, что в одном типе номера возможно аннулирование или ужин включен в одну комнату).
Я чувствую, что у меня есть два варианта:
- создание новых категорий ID_roomplan путем различения не только планов комнат, включая варианты фиктивных переменных в качестве идентификаторов, а затем проведение plm. ИЛИ
- Делать регрессионные модели lm для высокого сезона и низкого сезона отдельно и не использовать plm.
Какой вариант будет лучше, а также есть ли другие варианты?