一些预编程模型会自动删除其回归输出(例如lm()
)中的线性因变量R
。使用该bife
软件包,这似乎是不可能的。如第 5 页CRAN中的包装说明所述:
如果 bife 不收敛,这通常表明一个或多个回归变量与固定效应之间存在线性相关性。在这种情况下,您应该仔细检查您的模型规格。
现在,假设手头的问题涉及进行许多回归,并且无法充分检查每个回归输出——必须假设某种关于回归量的经验法则。有哪些替代方法可以或多或少地自动删除线性相关回归器并实现适当的模型规范?
我设置了一个代码作为下面的示例:
#sample coding
x=10*rnorm(40)
z=100*rnorm(40)
df1=data.frame(a=rep(c(0,1),times=20), x=x, y=x, z=z, ID=c(1:40), date=1, Region=rep(c(1,2, 3, 4),10))
df2=data.frame(a=c(rep(c(1,0),times=15),rep(c(0,1),times=5)), x=1.4*x+4, y=1.4*x+4, z=1.2*z+5, ID=c(1:40), date=2, Region=rep(c(1,2,3,4),10))
df3=rbind(df1,df2)
df3=rbind(df1,df2)
for(i in 1:4) {
x=df3[df3$Region==i,]
model = bife::bife(a ~ x + y + z | ID, data = x)
results=data.frame(Region=unique(df3$Region))
results$Model = results
if (i==1){
df4=df
next
}
df4=rbind(df4,df)
}
Error: Linear dependent terms detected!