为 R 中的循环绑定行随机停止工作?
Bind Rows For Loop in R Randomly Stops Working?
我正在使用 nbastatR 包中的 play_by_play 函数逐场抓取 NBA 比赛数据。问题是这个函数一次只采集1个游戏ID的数据,一个完整的赛季有1230个游戏ID。当我在 play_by_play 函数中输入超过 15 个游戏 ID 时,R 会一直加载并永远显示死亡之轮。
我试图通过制作一个 for 循环来解决这个问题,该循环将每个游戏 ID 绑定到一个累积数据帧。但是,我 运行 遇到了同样的错误,其中 R 将在第 16 场比赛中无休止地加载 - 非常奇怪。我可以清理循环中的数据并进行尝试(我不需要所有比赛数据,只需要本赛季的每一次投篮),但是有谁知道为什么会这样,how/if 我可以解决这个问题?
谢谢
full<- play_by_play(game_ids = 21400001, nest_data = F, return_message = T)
for(i in 21400002:21400040){
data <- play_by_play(game_ids = c(i), nest_data = F, return_message = F)
full <- bind_rows(full,data)
cat(i)
}
此代码将在第 16 个游戏 ID 左右停止工作。我尝试使用 dplyr 中的 bind_rows,但这根本没有帮助。
试试这个[未经测试的代码,因为我没有你的数据]:
full <- lapply(
21400001:21400040,
function(i) {
play_by_play(game_ids = c(i), nest_data = F, return_message = F)
}
) %>%
bind_rows()
您可以获得有关惰性求值的更多信息here。
我正在使用 nbastatR 包中的 play_by_play 函数逐场抓取 NBA 比赛数据。问题是这个函数一次只采集1个游戏ID的数据,一个完整的赛季有1230个游戏ID。当我在 play_by_play 函数中输入超过 15 个游戏 ID 时,R 会一直加载并永远显示死亡之轮。
我试图通过制作一个 for 循环来解决这个问题,该循环将每个游戏 ID 绑定到一个累积数据帧。但是,我 运行 遇到了同样的错误,其中 R 将在第 16 场比赛中无休止地加载 - 非常奇怪。我可以清理循环中的数据并进行尝试(我不需要所有比赛数据,只需要本赛季的每一次投篮),但是有谁知道为什么会这样,how/if 我可以解决这个问题?
谢谢
full<- play_by_play(game_ids = 21400001, nest_data = F, return_message = T)
for(i in 21400002:21400040){
data <- play_by_play(game_ids = c(i), nest_data = F, return_message = F)
full <- bind_rows(full,data)
cat(i)
}
此代码将在第 16 个游戏 ID 左右停止工作。我尝试使用 dplyr 中的 bind_rows,但这根本没有帮助。
试试这个[未经测试的代码,因为我没有你的数据]:
full <- lapply(
21400001:21400040,
function(i) {
play_by_play(game_ids = c(i), nest_data = F, return_message = F)
}
) %>%
bind_rows()
您可以获得有关惰性求值的更多信息here。