In dplyr, slice() selects rows from a tabular object by position. Group the data first to apply that positional selection separately within each group, such as removing the first record from every date or retaining each year's maximum row. section 16.4.2 section 19.4
Keep each year's scoring leader
dat2 %>% group_by(Year) %>% slice(which.max(PPG)) -> dat3 selects the observation with the highest points-per-game value in every year. Unlike summarize(), slice() retains every variable from each selected record, including Year, Player, PPG, and Year_Player. section 19.4 section 19.4.1
dat2 %>% group_by(Year) %>% slice(which.max(PPG)) -> dat3
Inspect the grouped slice() pipeline that keeps the maximum PPG observation for each Year. section 19.4
Remove the first record in each game
randle_final %>% group_by(date) %>% slice(-1) -> randle_final removes the first free-throw record within every date group, reducing the dataset from 350 to 289 records. section 16.4.2

