r-对拟合的线性模型使用“德尔塔方法”{msm}时的误差:协变应该是一个n x n矩阵



我使用包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))

我得到的错误是"协方差应该是3x3矩阵"。原因是1个变量没有任何变化(x2始终为零),并且在回归输出中具有"NA"。

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

怎么样:

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

最新更新