我有一个关于基于线性回归的beta计算趋势的p的问题。我已经使用R创建了一些数据:
id <- c(1,2,3,4,5,6,7,8,9,10)
var1 <- c(60,80,90,55,60,61,77,67,88,90)
var2 <- c(55,88,88,55,70,61,80,66,65,92)
var3 <- c(62,88,85,56,68,62,89,62,70,99)
outcome <- c(1,5,3,7,3,9,6,3,2,6)
dat <- data.frame(id, var1, var2, var3, outcome)
dat
mod1 <- lm(outcome ~ var1, data = dat)
summary(mod1)
# Beta = -0.03100
mod2 <- lm(outcome ~ var2, data = dat)
summary(mod2)
# Beta = 0.01304
mod3 <- lm(outcome ~ var3, data = dat)
summary(mod3)
# Beta = 0.01544
因此,根据Beta测试,似乎存在某种趋势。我知道我可以通过计算趋势的p来检查。 但是,我是统计学的新手,我不知道如何计算趋势的p。有人可以帮助我朝正确的方向发展吗?
答案 0 :(得分:1)
如果在summary
拟合模型上使用lm
,则输出通常应包含模型预测变量的p值。
例如,当我运行命令summary(mod1)
时,将得到以下输出:
Call:
lm(formula = outcome ~ var1, data = dat)
Residuals:
Min 1Q Median 3Q Max
-3.8968 -1.8426 -0.1218 1.8687 4.1342
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.75690 4.68435 1.442 0.187
var1 -0.03100 0.06333 -0.490 0.638
Residual standard error: 2.619 on 8 degrees of freedom
Multiple R-squared: 0.02908, Adjusted R-squared: -0.09228
F-statistic: 0.2396 on 1 and 8 DF, p-value: 0.6376
因此,在最右边的列(Pr(>|t|)
中,给出了每个预测变量的p值(包括截距)。这表明,var1
的估计值实际上与p=0.638
的0并没有明显不同(var2
和var3
的估计值也相同)。