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