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

如何编写R循环或函数计算拟合模型预测值的标准误

实现代码

首先将不需要重复计算的固定项提前提取,避免冗余计算:

# 提取模型固定的方差-协方差矩阵
s <- vcov(zib)
# 定义基础协变量向量,第19位为time的占位位
base_C <- c(0,0,0,0,0,0,0.0,0,0,0,0,0,0, 0, 1,0,0,0,NA,21.8,4.23,0.917,0,0,0,40.2,4.78)

方法1:循环实现(逻辑最直观)

# 初始化标准误列
newdat2$se <- NA_real_

# 逐行遍历计算
for (i in seq_len(nrow(newdat2))) {
  current_C <- base_C
  # 替换为当前行的time取值
  current_C[19] <- newdat2$time[i]
  # 计算标准误并存入对应行
  newdat2$se[i] <- sqrt(t(current_C) %*% s %*% current_C)
}

方法2:自定义函数+向量化实现(代码更简洁)

# 封装单个time值的标准误计算逻辑
calc_se <- function(time_val) {
  current_C <- base_C
  current_C[19] <- time_val
  return(as.numeric(sqrt(t(current_C) %*% s %*% current_C)))
}

# 批量计算所有行的标准误
newdat2$se <- sapply(newdat2$time, calc_se)

注意事项

运行前请核对你拟合的zib模型的系数顺序(可运行coef(zib)查看),确认time对应的系数位置确实为第19位,避免因协变量顺序匹配错误导致结果异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:15:07