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-stat:

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 回答