我使用svlgm函数进行预测,并且我无法按照预期的那样使用NA填充结果向量的预测(实际上可以使用na实现非调查glm 。排除)。
使用na.exclude运行svyglm会出现以下错误
警告讯息: 在model.matrix(glm.object)* resid(glm.object," working"): 较长的物体长度不是较短物体长度的倍数
我是否要求svyglm / predict做我不应该做的事情,或者这是svyglm包的错误?有没有办法获得预测来生成一个从svyglm对象填充NA的向量?
任何建议/帮助都非常感谢
library(survey)
y=c(0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1)
x1=c(1,0,1,1,1,NA,2,2,2,2,1,0,NA,1,0,0,0,2,2,2)
x2=c(10,21,33,55,40,30,26,84,NA,87,20,21,23,25,NA,60,76,84,71,87)
x3=runif(20)
foo=data.frame(y,x1,x2,x3)
m1=glm(y~x1+x2, family=binomial(logit),na.action=na.exclude)
predict(m1)
svy1 <-
svydesign(
ids=~0,
data = foo,
weights = ~x3
)
m2 <- svyglm(y ~ x1+x2, svy1,na.action=na.exclude)
predict(m2)