R 中的哪个包用于计算线性模型的非零零假设 p 值?

What package in R is used to calculate non-zero null hypothesis p-values on linear models?

标准 summary(lm(Height~Weight)) 将输出假设检验 H0: Beta1=0 的结果,但如果我有兴趣检验假设 H0: B1=1 是否有一个包可以产生该 p 值?我知道我可以手动计算它并且我知道我可以为双尾测试“翻转置信区间”(通过查看 95% confint 是否包含兴趣点来测试 95% 假设),但我我正在寻找一种简单的方法来生成模拟研究的 p 值。

我不知道有什么软件包可以做到这一点,但您可以使用偏移量来检验这个假设:

## specify null-model parameters
null_int <- 0; null_slope <- 1
## base model
m0 <- lm(mpg ~ disp, data=mtcars)
## include offset as null model
m1 <- update(m0, . ~ . + offset(null_int + null_slope*disp))

比较结果:

cbind(base=coef(m0),offset=coef(m1))
                  base    offset
(Intercept) 29.59985476 29.599855
disp        -0.04121512 -1.041215

您可以看到估计的斜率现在低了 1 个单位(因为它是相对于斜率 = 1 的空模型而言的)。汇总值、标准误差、p 值等都将进行适当调整。

您可以使用包 car 中的 linearHypothesis,例如:

library(car)
fit = lm(Petal.Width ~ Petal.Length,data=iris)

fit

Call:
lm(formula = Petal.Width ~ Petal.Length, data = iris)

Coefficients:
 (Intercept)  Petal.Length  
     -0.3631        0.4158  

linearHypothesis(fit,"Petal.Length=0.4")
Linear hypothesis test

Hypothesis:
Petal.Length = 0.4

Model 1: restricted model
Model 2: Petal.Width ~ Petal.Length

  Res.Df    RSS Df Sum of Sq      F Pr(>F)
1    149 6.4254                           
2    148 6.3101  1   0.11526 2.7034 0.1023

还有一个 article 关于这个包的细节。