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

R语言如何将id列表传入get_data函数批量循环获取ESPN赛事数据

R 实现批量调用get_data获取赛事数据的常用方案

方案1:基础for循环实现

逻辑最直白,适合需要自定义循环内处理逻辑的场景:

# 初始化列表存储所有赛事的返回结果
result_list <- list()

# 遍历所有赛事ID依次调用函数
for (id in game_ids) {
  # 注意game_ids存储为字符串格式,原函数入参为数值型,需做类型转换
  result_list[[id]] <- get_data(as.numeric(id))
}

最终所有结果会按ID为键存储在result_list中,可直接通过result_list[["1000001"]]提取单场数据。

方案2:apply族函数(R原生简洁写法)

不需要额外写循环结构,一行代码即可完成批量调用:

# 输出为列表格式,每个元素对应一个赛事ID的返回结果
result_list <- lapply(game_ids, function(x) get_data(as.numeric(x)))

# 如果所有赛事返回的数据结构完全一致,可直接用sapply合并为矩阵/数据框
result_df <- sapply(game_ids, function(x) get_data(as.numeric(x)))

方案3:封装函数实现get_data(game_ids)直接调用

如果希望直接支持传ID列表的调用方式,可以对原函数做一层简单的向量化封装:

# 封装批量调用函数
get_data_batch <- function(ids) {
  # 同时兼容单个ID、多个ID输入
  if (length(ids) == 1) {
    return(get_data(as.numeric(ids)))
  }
  return(lapply(ids, function(x) get_data(as.numeric(x))))
}

# 直接传入ID列表即可调用
all_game_data <- get_data_batch(game_ids)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:24:07