对拟合线性模型使用“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
我正在使用包 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