R语言中如何忽略逻辑列表报错以合并NCAA棒球统计数据?
解决bind_rows合并NCAA数据时的类型不匹配问题
问题出在部分球队无2024年数据,导致map("result")后混入了非数据框类型的元素(比如NULL或逻辑值),bind_rows无法合并不同类型的列。只需在合并前过滤掉这些无效元素即可:
修改合并数据的代码:
# 处理投球数据 d3_pitching <- pitching_stats %>% map("result") %>% purrr::keep(is.data.frame) %>% # 仅保留有效数据框 bind_rows() # 同理处理打击数据 d3_batting <- batting_stats %>% map("result") %>% purrr::keep(is.data.frame) %>% bind_rows()
原理说明
purrr::keep(is.data.frame)会筛选出列表中所有属于数据框类型的元素,自动排除NULL、逻辑值等无效结果。- 这样后续
bind_rows只处理结构一致的有效统计数据,不会再出现类型不匹配的报错。
内容的提问来源于stack exchange,提问作者John Gennaro
相关产品推荐
相关产品推荐

