R 使用因子变量时的组合效应和PLM包。
我试图使用效果包来提取PLM模型的预测值。不幸的是,只要我包含一个因子变量,效果包就会随着错误消息而崩溃R 使用因子变量时的组合效应和PLM包。,r,effects,plm,R,Effects,Plm,我试图使用效果包来提取PLM模型的预测值。不幸的是,只要我包含一个因子变量,效果包就会随着错误消息而崩溃 Error in Summary.factor(c(2L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, ‘range’ not meaningful for factors 有人找到解决这个问题的方法吗 下面是一个复制该问题的最低限度的工作示例 data("Produc", package = "plm") Produc$dummy1<-(rb
Error in Summary.factor(c(2L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L,
‘range’ not meaningful for factors
有人找到解决这个问题的方法吗
下面是一个复制该问题的最低限度的工作示例
data("Produc", package = "plm")
Produc$dummy1<-(rbinom(nrow(Produc), 1 , 0.4)) #Generate Random Dummy
Produc$dummy2<-as.factor(Produc$dummy1)
mod1 <- plm(gsp ~ pcap * dummy1,data = Produc, index = c("state","year"), model="fd")
mod2 <- plm(gsp ~ pcap * dummy2,data = Produc, index = c("state","year"), model="fd")
Effect(c("pcap","dummy1"),mod1) #This works
Effect(c("pcap","dummy2"),mod2) #This does not
数据(“Produc”,package=“plm”)
Produc$dummy1Maybe,effects
包无法处理plm
-对象?作为一种解决方法,您始终可以使用lm()
来“模拟”面板模型。您可以自己转换数据,或者使用pmodel.response()
和plm:::model.matrix()
(后者似乎没有导出,因此plm:::
)来获取转换后的数据,您可以在其上运行lm()
。另一方面,警告是有意义的:如果dummy2
是一个因素,它只能是特定值,在本例中为0和1。因此,为0和1以外的值计算效果是没有意义的。请尝试allEffects(mod2)
这就是您想要的吗?