2016-08-01 12 views
1

msmdelthamethodを使用して変換された変数の標準誤差を求めています。フィットされた線形モデルに `delthamethod` {msm}を使用したときの誤差:共分散は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"があるからです。

これは簡単に修正できますか?私は変数を残しておくことができると知っていますが、私は推定するために約15パラメータごとに1.000回の回帰を実行しており、NA変数(変化なし)は毎回異なる変数です。

答えて

1

方法について:

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

おかげで、正常に動作します! – research111

関連する問題