2016-08-01 8 views
1

Я использую delthamethod из пакета msm для получения стандартной ошибки преобразованной переменной.Ошибка при использовании `delthamethod` {msm} для установленной линейной модели: covariances должна быть n x n-матрицей

Пример код:

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)) 

Ошибки я получаю «ковариация должна быть матрицей 3х3». Причина в том, что 1 переменная не имеет никакого изменения (x2 всегда равна нулю) и имеет «NA» в выходе регрессии.

Есть ли в этом легкое решение? Я знаю, что могу оставить переменную, но я выполняю более 1.000 регрессий с каждыми приблизительно 15 параметрами для оценки, а переменные NA (без изменений) - это каждый раз разные переменные.

ответ

1

Как насчет:

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

спасибо, работает отлично! – research111