我想对y
上的x1
和x2
的中间值进行回归。
我在下面的代码中使用了包plm
:
Result <- plm(y ~ x1 + median(x2,na.rm=T),data = Panel[which(!is.na(Panel$Firms)),],
model = "random",effect = "time",index = c("Firms", "Time"))
但它不起作用。它返回
model.frame.default中的错误(术语(公式,lhs = lhs,rhs = rhs,data = data,:
) 变量长度不同(找到&#39;中位数(MB)&#39;)
如何将中位数值作为一个独立变量纳入回归?
答案 0 :(得分:1)
假设您对公司特定的中位数感兴趣,使用dplyr
包的示例将是:
library(dplyr)
panel <- panel %>%
group_by(Firms) %>%
mutate(median_x2 = median(x2))
然后,您应该能够使用新生成的变量运行模型。
答案 1 :(得分:0)
错误是因为它们没有相同的长度,所以我认为如果不使用中位数