2

別のプログラムで実行された回帰分析の結果があり、それらが有意であるかどうかを R でテストしたいと考えています。ls.diag() が回帰結果の標準誤差と t 検定を計算することは知っていますが、非常に特殊な入力形式 (つまり、lsfit() の結果) が必要なので、それを使用できるとは思いません。r には、回帰分析の標準誤差と t 検定を計算する関数があり、関数に関連する係数を手動で簡単に与えることができますか?

4

1 に答える 1

4

これがあなたが探しているものかどうかはわかりませんが、ここにガイドラインがあります

# this is a model obtained from ?lm 
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
lm.D9 <- lm(weight ~ group)
summary(lm.D9) this is our target

回帰係数、その標準誤差、およびサンプルサイズのみがあるとします。

beta <- coef(lm.D9)
errorBeta <- summary(lm.D9)$coefficients[,2]
n <- length(weight) # the sample size
k <- length(beta) # number of regression parameters

これはあなたの場合だと思います。係数の標準誤差がない場合は、それらを推定する必要があります。非常に簡単です。

回帰係数とその標準誤差が得られたら、t統計量を推定できます。

t_stats <- beta/errorBeta

経験則では、|t_stats|の場合は次のようになります。> = 2の場合、係数は5%レベルで統計的に有意です。ただし、p値を知りたい場合は、次を使用します。

pt(abs(t_stats), n-k, lower.tail=FALSE)*2

p値>0.05の場合、関連する係数はそのレベルで統計的に有意ではありません。

必要なのは、係数、その標準誤差、およびサンプルサイズを知ることだけです。そうでなければ、あなたはそれをしません。

于 2012-07-28T16:46:59.417 に答える