对拟合线性模型使用“delthamethod”{msm} 时出错:协方差应为 n x n 矩阵

Error when using `delthamethod`{msm} for a fitted linear model: covariances should be a n x n matrix

我正在使用包 msm 中的 delthamethod 来导出转换变量的标准误差。

示例代码:

require(msm)

x1 <- 1:10
x2 <- c(0,0,0,0,0,0,0,0,0,0)
y <- c(1,3,3,4,5,7,7,8,9,10)

m1 <- lm(y~x1+x2)
summary(m1)

deltamethod(~ (1-x1), coef(m1), vcov(m1))

我得到的错误是 "Covariances should be a 3x3 matrix"。原因是 1 个变量没有任何变化(x2 始终为零)并且在回归输出中具有 "NA"。

有没有简单的解决方法?我知道我可以忽略变量,但我 运行 超过 1.000 个回归,每个回归估计大约 15 个参数,NA 变量(没有变化)每次都是不同的变量。

怎么样:

deltamethod(~(1-x1), na.omit(coef(m1)), vcov(m1))
# [1] 0.2949063