2016-08-01 3 views
1

J'utilise le delthamethod du package msm pour dériver l'erreur standard d'une variable transformée.Erreur lors de l'utilisation de `delthamethod` {msm} pour un modèle linéaire ajusté: les covariances doivent être une matrice n x n

code Exemple:

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

L'erreur que je reçois est "Covariances devrait être une matrice 3x3". La raison en est que 1 variable n'a pas de variation (x2 est toujours zéro) et a "NA" dans la sortie de régression.

Y at-il une solution facile à cela? Je sais que je pourrais laisser la variable en dehors, mais je cours plus de 1.000 régressions avec chacun environ 15 paramètres pour estimer, et les variables NA (sans variation) sont chaque fois différentes variables.

Répondre

1

Que diriez-vous:

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

merci, fonctionne très bien! – research111