R wald.test:L%*%V中有错误:参数不一致

R wald.test:L%*%V中有错误:参数不一致,r,R,当我尝试对线性模型上的分类变量运行wald.test(来自aod包)时,我得到以下错误: Error in L %*% V : non-conformable arguments 我遇到问题的代码: m1 <- glm(comment_count ~ factor(has_conflicts) + factor(base_repo_id) + **snip**, data = mydata) summary(m1) # shows that base_repo_id's factors

当我尝试对线性模型上的分类变量运行
wald.test
(来自
aod
包)时,我得到以下错误:

Error in L %*% V : non-conformable arguments
我遇到问题的代码:

m1 <- glm(comment_count ~ factor(has_conflicts) + factor(base_repo_id) + **snip**, data = mydata)
summary(m1) # shows that base_repo_id's factors are coefficients 3 through 12

# Determine whether base_repo_id matters
wald.test(b = coef(m1), Sigma = vcov(m1), Terms = 3:12)

m1原则上,您的代码看起来还可以,但一定是与您的数据的特定适合性有关的内容不起作用。可能存在未识别参数或奇异协方差矩阵之类的问题

如果我用上述变量创建一个随机数据集,那么一切都会顺利运行:

set.seed(1)
mydata <- data.frame(
  comment_count = rpois(500, 3),
  has_conflicts = sample(0:1, 500, replace = TRUE),
  base_repo_id = sample(1:11, 500, replace = TRUE)
)    
m1 <- glm(comment_count ~ factor(has_conflicts) + factor(base_repo_id),
  data = mydata)
lmtest

library("lmtest")
waldtest(m1, "factor(base_repo_id)", test = "Chisq")     
## Wald test
## 
## Model 1: comment_count ~ factor(has_conflicts) + factor(base_repo_id)
## Model 2: comment_count ~ factor(has_conflicts)
##   Res.Df  Df  Chisq Pr(>Chisq)
## 1    488                      
## 2    498 -10 12.966     0.2256
汽车

library("car")
linearHypothesis(m1, names(coef(m1))[3:12])
## Linear hypothesis test
## 
## Hypothesis:
## factor(base_repo_id)2 = 0
## factor(base_repo_id)3 = 0
## factor(base_repo_id)4 = 0
## factor(base_repo_id)5 = 0
## factor(base_repo_id)6 = 0
## factor(base_repo_id)7 = 0
## factor(base_repo_id)8 = 0
## factor(base_repo_id)9 = 0
## factor(base_repo_id)10 = 0
## factor(base_repo_id)11 = 0
## 
## Model 1: restricted model
## Model 2: comment_count ~ factor(has_conflicts) + factor(base_repo_id)
## 
##   Res.Df Df  Chisq Pr(>Chisq)
## 1    498                     
## 2    488 10 12.966     0.2256

我也遇到了同样的问题。 错误表明两个矩阵L和V的大小不匹配

请检查您的系数中是否有NA元素。 vcov()自动删除NA元素,这会更改矩阵的大小,使其大小不匹配

library("lmtest")
waldtest(m1, "factor(base_repo_id)", test = "Chisq")     
## Wald test
## 
## Model 1: comment_count ~ factor(has_conflicts) + factor(base_repo_id)
## Model 2: comment_count ~ factor(has_conflicts)
##   Res.Df  Df  Chisq Pr(>Chisq)
## 1    488                      
## 2    498 -10 12.966     0.2256
library("car")
linearHypothesis(m1, names(coef(m1))[3:12])
## Linear hypothesis test
## 
## Hypothesis:
## factor(base_repo_id)2 = 0
## factor(base_repo_id)3 = 0
## factor(base_repo_id)4 = 0
## factor(base_repo_id)5 = 0
## factor(base_repo_id)6 = 0
## factor(base_repo_id)7 = 0
## factor(base_repo_id)8 = 0
## factor(base_repo_id)9 = 0
## factor(base_repo_id)10 = 0
## factor(base_repo_id)11 = 0
## 
## Model 1: restricted model
## Model 2: comment_count ~ factor(has_conflicts) + factor(base_repo_id)
## 
##   Res.Df Df  Chisq Pr(>Chisq)
## 1    498                     
## 2    488 10 12.966     0.2256