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