如何计算 r 中 f 统计量的 p 值


F 检验产生F 统计量。要查找与 R 中的 F 统计量关联的p 值,可以使用以下命令:

pf(fstat, df1, df2, lower.tail = FALSE)

  • fstat – f 统计量的值
  • df1 – 自由度 1
  • df2 – 自由度 2
  • lower.tail – 是否返回与 F 分布下尾相关的概率。默认情况下这是 TRUE。

例如,以下是如何查找与 F 统计量 5 相关的 p 值,其中自由度 1 = 3,自由度 2 = 14:

 pf(5, 3, 14, lower.tail = FALSE)

#[1] 0.01457807

F 检验最常见的用途之一是测试回归模型的整体显着性。在以下示例中,我们展示如何计算回归模型的 F 统计量的 p 值。

示例:根据 F 统计量计算 p 值

假设我们有一个数据集,显示 12 名不同学生的学习总时数、参加的预科考试总数以及期末考试成绩:

 #create dataset
data <- data.frame(study_hours = c(3, 7, 16, 14, 12, 7, 4, 19, 4, 8, 8, 3),
prep_exams = c(2, 6, 5, 2, 7, 4, 4, 2, 8, 4, 1, 3),
final_score = c(76, 88, 96, 90, 98, 80, 86, 89, 68, 75, 72, 76))

#view first six rows of dataset
head(data)

# study_hours prep_exams final_score
#1 3 2 76
#2 7 6 88
#3 16 5 96
#4 14 2 90
#5 12 7 98
#6 7 4 80

然后,我们可以使用学习时间准备考试作为预测变量,使用最终分数作为响应变量,对该数据拟合线性回归模型。然后我们可以可视化模型的结果:

 #fit regression model
model <- lm(final_score ~ study_hours + prep_exams, data = data)

#view output of the model
summary(model)

#Call:
#lm(formula = final_score ~ study_hours + prep_exams, data = data)
#
#Residuals:
# Min 1Q Median 3Q Max 
#-13,128 -5,319 2,168 3,458 9,341 
#
#Coefficients:
#Estimate Std. Error t value Pr(>|t|)    
#(Intercept) 66,990 6,211 10,785 1.9e-06 ***
#study_hours 1.300 0.417 3.117 0.0124 *  
#prep_exams 1.117 1.025 1.090 0.3041    
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#
#Residual standard error: 7.327 on 9 degrees of freedom
#Multiple R-squared: 0.5308, Adjusted R-squared: 0.4265 
#F-statistic: 5.091 on 2 and 9 DF, p-value: 0.0332

在结果的最后一行,我们可以看到整体回归模型的 F 统计量为5.091 。此 F 统计量的分子有 2 个自由度,分母有 9 个自由度。 R 自动计算出此 F 统计量的 p 值为0.0332

为了自己计算等效 p 值,我们可以使用以下代码:

 pf(5.091, 2, 9, lower.tail = FALSE)

#[1] 0.0331947

请注意,我们得到与上面的线性回归输出相同的答案(但显示更多小数位)。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注