【发布时间】:2016-08-04 21:37:08
【问题描述】:
我有来自 GameDay 服务器的击球数据数据集:
eliasID teamID gameID gameDate h hr bb so rbi ab runs t d lob sb cs sf hbp
1 430203 kca 2010/04/01/arimlb-kcamlb-1 4/1/2010 1 2 0 0 0 0 0 0 0 0
2 459714 kca 2010/04/01/arimlb-kcamlb-1 4/1/2010 1 0 0 1 0 3 1 0 0 1 0 0 0 0
3 325392 kca 2010/04/01/arimlb-kcamlb-1 4/1/2010 0 0 1 0 0 1 0 0 0 0 0 0 0 0
4 429801 kca 2010/04/01/arimlb-kcamlb-1 4/1/2010 0 0 0 1 0 3 0 0 0 2 0 0 0 0
5 456714 kca 2010/04/01/arimlb-kcamlb-1 4/1/2010 0 0 1 0 0 4 0 0 0 2 0 0 0 0
6 150449 kca 2010/04/01/arimlb-kcamlb-1 4/1/2010 0 0 0 1 1 4 0 0 0 2 0 0 0 0
ba ID gameDateFormat year Year
1 0.345 1 2010-04-01 2010 NA
2 0.250 2 2010-04-01 2010 NA
3 0.319 3 2010-04-01 2010 NA
4 0.327 4 2010-04-01 2010 NA
5 0.333 5 2010-04-01 2010 NA
6 0.217 6 2010-04-01 2010 NA
我的问题是,我想为每场比赛建立一个连续的击球总数 (ab),但只计算 gameDate 低于该行的 gameDate 的游戏的总击球数,以及同一游戏年的比赛。
我查看了 for 循环并建议使用 dplyr,但是当我需要将持续的总和添加到每个游戏中以显示该玩家今年的 ab 总数时,这些都想对一个玩家的所有 ab 列求和到目前为止那场比赛。
我正在尝试构建与您在棒球参考网站上看到的那种统计数据相当的数据。
英文,我在找:
对于 Batting 中的每个 EliasID、gameID: sum(ab) 用于 EliasID,其中 gameDate
你怎么看?
【问题讨论】:
-
欢迎来到 SO。请参阅how to make a great R reproducible example。如所写,您的问题不是很清楚或无法重现。
-
我觉得这个问题是新用户的诚实努力,不应该立即被否决。
-
是 sum(ab) 还是 sum(ba)?
-
@Robert 大概是
ab是“击球率”,ba是“击球率”,总和没有意义 -
我无法从您建议的网页中制作可重现的示例。