【发布时间】:2017-06-23 22:03:51
【问题描述】:
希望确定哪些投手的投球位置逐年变化最大。我在下面包含了到目前为止我使用的代码。
strike_zone_analysis <- final_2016 %>% mutate(low_zone =
ifelse(between(plate_x, -1.10, 1.10) &
between(plate_z, 1.49, 2.17), 1, 0)) %>%
group_by(pitcher_name, game_year) %>%
summarise(n_of_pitches = n(),
prop_low_zone = sum(low_zone)/n_of_pitches)
growth <- function(x)x/lag(x)-1
YOY <- strike_zone_analysis_15_16 %>%
group_by(pitcher_name) %>%
mutate_each(funs(growth), prop_low_zone)
YOY <- mutate(YOY, prop_low_zone = prop_low_zone*100)
YOY$prop_low_zone <-round(YOY$prop_low_zone, 1)
出于本示例的目的,我在下面创建了以下数据框,该数据框与上述代码中的 YOY 数据框大部分匹配。
pitcher_name <- c('AJ Griffin','AJ Griffin','AJ Burnett','AJ
Burnett','Zach Godley','Zach Godley')
game_year <- c(2016, 2017, 2016, 2017, 2016, 2017)
#_of_pitches <- c(456, 550, 1001, 1760, 1500, 1800)
pitching <- data.frame(pitcher_name, game_year, #_of_pitches)
我希望在数据框中分离出在 2016 年和 2017 年至少投出 500 次投球的投手。
如果我使用
filter(pitching, #_of_pitches >=500),当我只想要两个赛季都投出至少 500 次投球的投手(在本例中为 AJ Burnett 和 Zach Godley)时,我只需要所有三个投手。我猜有一种方法可以使用内置的 dplyr 过滤器功能来做到这一点,但我一直在旋转我的轮子试图弄清楚它。任何输入将不胜感激。谢谢!
【问题讨论】:
-
尝试 '&' 在 'filter' 中合并大小写
-
#删除其余行。