You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

批量执行单变量线性回归时在结果中显示RMSE的方法

解决方法:给批量线性回归结果添加RMSE指标

你可以通过在回归处理流程中计算RMSE,并将其与系数表整合输出,来补全缺失的指标。RMSE(均方根误差)可直接从线性回归的summary结果中提取,或是通过残差计算,以下是修改后的完整代码:

my.data <- read.csv("filename.csv", header=TRUE)

variables <- names(my.data[1:30])
my.list <- lapply(variables, function(var){
  formula <- as.formula(paste("gene ~", var))
  res.linear <- lm(formula, data = my.data)
  res_summary <- summary(res.linear)
  # 提取RMSE:summary中的sigma是残差标准误,等价于RMSE的无偏估计
  rmse <- res_summary$sigma
  # 提取包含Estimate、Std.Error等的系数汇总表
  coef_table <- res_summary$coefficients
  # 将变量名、系数表、RMSE打包成列表
  list(变量名 = var, 系数表 = coef_table, RMSE = rmse)
})

# 循环打印每个回归的完整结果
for (result in my.list) {
  cat("--- 因变量gene与自变量", result$变量名, "的回归结果 ---\n")
  print(result$系数表)
  cat("RMSE值:", round(result$RMSE, 4), "\n\n")
}

代码说明:

  • res_summary$sigma:直接调用线性回归summary结果中的sigma值,这是统计学中常用的RMSE无偏估计(计算逻辑为sqrt(残差平方和/(样本量-参数个数)))。如果需要原始均方根误差(即sqrt(平均残差平方)),可替换为sqrt(mean(residuals(res.linear)^2))。
  • 修改后的my.list每个元素都包含变量名、系数表和RMSE,通过循环遍历能清晰展示每个回归的完整结果。

示例输出:

--- 因变量gene与自变量variable1的回归结果 ---
                  Estimate Std. Error   t value     Pr(>|t|)
(Intercept)   23.367075060 4.46417498 5.2343547 3.017975e-06
variable1     0.008312962 0.04747918 0.1750865 8.616917e-01
RMSE值: 12.3456 

--- 因变量gene与自变量variable2的回归结果 ---
                 Estimate Std. Error  t value     Pr(>|t|)
(Intercept)   5.347246142 1.48314397 3.605345 0.0006984638
variable2     0.008342116 0.01577413 0.528848 0.5991611451
RMSE值: 4.5678 

内容的提问来源于stack exchange,提问作者LilyL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:30:45