希望确定哪个投手的投球位置每年变化最大。我已经包含了我目前使用的代码。
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滤镜功能,但是我一直在试图弄清楚我的轮子。任何输入将不胜感激。谢谢!
答案 0 :(得分:1)
library(tidyverse)
# create data set
pitcher_name <- c('AJ Griffin','AJ Griffin','AJ Burnett','AJ Burnett','Zach Godley','Zach Godley')
game_year <- c(2016, 2017, 2016, 2017, 2016, 2017)
n_of_pitches <- c(456, 550, 1001, 1760, 1500, 1800)
pitching <- data.frame(pitcher_name, game_year, n_of_pitches)
# filter for pitchers who made >= 500 pitches in both 2016 and 2017
pitching %>%
group_by(pitcher_name) %>%
filter(all(n_of_pitches >= 500))