如何在R中提取线性模型summary输出的最后两行结果?
在R中提取线性回归summary的指定行
方法1:提取组件拼接输出
summary.lm对象的统计量是分字段存储的,直接提取后按格式输出更灵活:
# 修正模型拟合代码(原代码变量名有误) my_model <- lm(y ~ x1 + x2 + x3, data = your_data) summary_result <- summary(my_model) # 打印R平方相关行 cat(sprintf("Multiple R-squared: %.4f, Adjusted R-squared: %.4f\n", summary_result$r.squared, summary_result$adj.r.squared)) # 打印F统计量相关行 f_stats <- summary_result$fstatistic p_val <- pf(f_stats[1], f_stats[2], f_stats[3], lower.tail = FALSE) cat(sprintf("F-statistic: %.2f on %d and %d DF, p-value: %.4e\n", f_stats[1], f_stats[2], f_stats[3], p_val))
方法2:从输出文本中提取最后两行
如果需要完全还原控制台的输出格式,可将summary转为字符向量后取末尾两行:
# 捕获summary的输出文本 summary_text <- capture.output(summary(my_model)) # 提取并打印最后两行 cat(tail(summary_text, 2), sep = "\n")
两种方法对比
- 方法1:可单独获取每个统计量,便于后续计算或自定义格式;
- 方法2:快速得到和控制台一致的输出文本,适合直接展示。
内容的提问来源于stack exchange,提问作者Gwyrion
相关产品推荐
相关产品推荐

