-1

Breusch-Pagan 検定に失敗した複数の回帰モデルがあるため、次のように、異分散補正された共分散行列を使用して分散を再計算しましたcoeftest(lm.model,vcov=hccm(lm.model))coeftest()lmtestパッケージからhccm()、 はcarパッケージからです。

F スコアと標準化されたベータ版を提供したいのですが、出力が次のようになるため、これを行う方法がわかりません...

t test of coefficients:

                Estimate Std. Error t value Pr(>|t|)  
(Intercept)     0.000261   0.038824    0.01    0.995  
age             0.004410   0.041614    0.11    0.916  
exercise       -0.044727   0.023621   -1.89    0.059 .
tR             -0.038375   0.037531   -1.02    0.307  
allele1_num     0.013671   0.038017    0.36    0.719  
tR:allele1_num -0.010077   0.038926   -0.26    0.796  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R および からの標準summary()および出力、およびパッケージからの関数と可能な限り一致するように、これらを報告する方法に関するアドバイスはありますか?Anova()carstd_beta()sjmisc

4

1 に答える 1

0

他の誰かがこの質問をしている場合、これが私の解決策です。特にエレガントではありませんが、機能します。

std_beta の関数をテンプレートとして単純に使用し、標準エラーの入力をstd_beta()関数から派生したものに変更しました。

# This is taken from std_beta function from sj_misc package.
# =====================================


b <-coef(lm.model) # Same Estimate
b <-b[-1] # Same intercept
fit.data <- as.data.frame(stats::model.matrix(lm.model)) # Same model.

fit.data <- fit.data[, -1] # Keep intercept
fit.data <- as.data.frame(sapply(fit.data, function(x) if (is.factor(x)) 
                          to_value(x, keep.labels = F)
                          else x))

sx <- sapply(fit.data, sd, na.rm = T)
sy <- sapply(as.data.frame(lm.model$model)[1], sd, na.rm = T)

beta <- b * sx/sy
se <-coeftest(lm.model,vcov=hccm(lm.model))[,2] # ** USE HCCM covariance for SE **
se <- se[-1]
beta.se <- se * sx/sy

data.frame(beta = beta, ci.low = (beta - beta.se * 
            1.96), ci.hi = (beta + beta.se * 1.96))

F スコアについては、t 値を 2 乗しただけです。これで誰かの時間を節約できることを願っています。

于 2016-12-14T18:26:25.030 に答える