我目前有两个数据框架,第一个是MLB棒球比赛的数据集,包含比赛日期和球员ID。
游戏日志(_L)
| 日期|电池1 ID|电池2 ID|
| - -|- -|- -|
| 五月一日|乔|凯文|
| 五月一日|若翰|山缪|
| 五月二日|乔|凯文|
| 五月二日|若翰|山缪|
第二个数据集包含本赛季的球员统计数据。该数据集是从网络上抓取的,因此可以更新为包含每个球员截至所列比赛日期的所有统计数据。例如,下面您可以看到两个不同日期的数据框。
5月_1日
| 电池ID|点击数|本垒打|打击率|
| - -|- -|- -|- -|
| 乔|十五|四个|点二四四|
| 若翰|十八|六个|点二六一口径|
| 凯文|二十九人|十六|点三四七口径|
| 山缪|七个|一个|点一六一|
5月2日
| 电池ID|点击数|本垒打|打击率|
| - -|- -|- -|- -|
| 乔|十六|四个|点二四七|
| 若翰|十九|六个|点二六五|
| 凯文|三十|十七岁|点三四三口径|
| 山缪|九个|2个|点180口径|
我想做的是循环遍历比赛列表,在日期和击球手ID匹配的地方,将第二个数据框中的统计数据添加到正确行的末尾。让我感到困扰的是,对于第一个数据框中的每一行,都有多个击球手ID需要匹配。
我最初的想法是使用嵌套循环来实现这一点,但我很难找到一个解决方案,让我按顺序循环通过每一行,以便我可以限制我抓取数据的次数。
这是我最初思考过程的开始。
for (i in rows) {
if (i %in% BatterID){
...
}
}
有什么想法吗?谢谢。
1条答案
按热度按时间inb24sb21#
您需要将stats数据框组合到一个包含
Date
列的数据框中,然后这就是一个简单的连接。大概是这样的: