我有一个用另一个程序进行的回归分析的结果,我想用R来测试它们是否有意义。我知道ls.diag()计算回归结果的标准误差和t检验,但它需要一个非常特殊的输入格式(即lsfit()的结果),所以我不认为我可以使用它。R中有没有什么函数可以计算回归分析的标准误差和t检验,让我可以简单地手工给出函数的相关系数?
发布于 2012-07-29 00:46:59
我不太确定这是不是你想要的,但这里有一个指导原则
# 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,则相关系数在该级别上没有统计意义。
你所需要的就是知道系数,它的标准误差和样本大小。否则你不会这么做的。
https://stackoverflow.com/questions/11702147
复制相似问题