r - 具有重复 id/时间观察的 plm 面板回归错误
问题描述
我需要对面板数据进行回归。我的数据着眼于两个不同观察点(旺季日期和淡季日期)的酒店客房计划价格。
我有这个数据(仅供参考,这是该问题的简化数据,我的实际数据集包含类似类型的 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
我知道这是因为需要有一对唯一的 id-time(即 ID_roomplan-season)才能使 plm 工作,但我不知道如何修复数据,因为在同一房间内可以有不同价格的相同房间计划由于选择不同(例如,因为一种房型可以取消,或者一间房包含晚餐)。
我觉得我有两个选择:
- 创建新的 ID_roomplan 类别,不仅区分房间计划,还包括虚拟变量选项作为标识符,然后执行 plm。或者
- 分别做旺季和淡季的lm回归模型,不使用plm。
哪个选项最好,还有其他选项吗?
解决方案
推荐阅读
- javascript - 如何在ts中将文本文件转换为json
- python - 如何从列表中提取每个值?
- r - 用另一个df的间隔改变df中的中位数
- javascript - 使用带有 classlist 属性的模板文字
- css - 无法更改 Bootstrap 5 轮播指示器边框半径
- android - 如何实现一个中心化的事件系统?Android - 实时数据
- intune - inTune APP 应用程序已安装但有更新版本可用?
- c# - MemoryStream closes when passing it as a parameter to another method with a local function
- visual-studio - Visual Studio 拒绝插入 DLL 参考
- verilog - ALU NOOP 案例推断闩锁:这可以吗?