【发布时间】:2019-09-11 03:27:28
【问题描述】:
我有一个图表,其中包含每个 NHL 球员随时间推移的累积进球数:
如您所见,当前图表上的玩家太多了。我只想保留前 10% 的数据(比如说),但回顾往年。例如,如果一名球员在 1995 年不在前 10%,但到 2000 年将进入前 10%,我想保留该球员的所有观察结果。
这是我尝试过的:
playerID <- c(1,2,3,1,2,3,1,2,3,1,2,3)
year <- c(2002,2000,2000,2003,2001,2001,2000,2002,2002,2001,2003,2003)
goals <- c(25,21,27,31,39,34,42,44,46,59,55,53)
my_data <- data.frame(playerID, year, goals)
cumulative_data <- my_data %>%
group_by(playerID) %>%
arrange(playerID, year) %>%
mutate(cumsum_goals=cumsum(goals))
ggplot(data=subset(cumulative_data, percent_rank(cumsum_goals) > .90), aes(x=year, y=cumsum_goals, group=playerID)) +
geom_line() +
xlab("Year") +
ylab("Total Goals")
但这只给出了总体数据的前 10%,而不是按年计算的前 10%。
【问题讨论】: