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

R语言使用for循环基于系数估计与实际值实现回归预测计算

R 回归预测值计算实现

前置注意事项

你当前的values数据框列顺序和estimates非截距项的系数顺序不匹配,直接计算会导致结果错误,需要先按系数名称对齐列顺序:

  • estimates非截距项顺序:sd_rgdpg → TRADE → OPEN → DISSIM → SIZE → TF → INFL → INT → NIIP
  • 你构造的values列顺序:sd_rgdpg → DISSIM → TRADE → SIZE → OPEN → TF → INFL → INT → NIIP

1. for 循环实现代码

# 提取非截距项系数
coef_no_intercept <- estimates[-1]
# 按系数名称对齐values的列顺序
values_aligned <- values[, names(coef_no_intercept)]
# 初始化预测值向量
y_pred <- numeric(nrow(values_aligned))
# 提取截距项
intercept_val <- estimates[["(Intercept)"]]

# 循环计算每一行样本的预测值
for (row_idx in 1:nrow(values_aligned)) {
  # 初始值为截距项
  pred_tmp <- intercept_val
  # 累加每个变量的系数*取值
  for (col_idx in 1:length(coef_no_intercept)) {
    pred_tmp <- pred_tmp + coef_no_intercept[[col_idx]] * values_aligned[row_idx, col_idx]
  }
  y_pred[row_idx] <- pred_tmp
}

运行后y_pred就是你需要的21个预测值。


2. 更高效的向量化实现(无需循环)

R原生支持矩阵运算,一行代码即可完成计算,效率远高于嵌套for循环:

y_pred <- estimates[["(Intercept)"]] + as.matrix(values_aligned) %*% estimates[-1]

其中%*%是矩阵乘法运算符,会自动完成每行变量与对应系数的相乘求和操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:54:03