我有以下问题。我的数据集包含有关网球运动员及其在职业生涯中每个赛季参加的比赛次数的信息。
Name Season Games
Nadal 2015 84
Novak 2017 14
Nadal 2016 88
Federer 2018 75
Nadal 2010 45
.
.
.
我想创建一个新的数据集,其中仅包含玩了五年或更长时间的玩家。
我想,我必须以某种方式汇总玩家,然后过滤他们。请问我该怎么办?
使用dplyr
,您可以计数和过滤数据框。例如,我创建此虚拟数据框:
df = data.frame(P = c("A","A","A","A","A","A","A","B","B","C","C","C","C"),
y = c(1,4,5,8,7,4,2,3,4,8,7,4,1))
library(dplyr)
df %>% group_by(P) %>% add_count(P) %>% filter(n > 5)
# A tibble: 7 x 3
# Groups: P [1]
P y n
<fct> <dbl> <int>
1 A 1 7
2 A 4 7
3 A 5 7
4 A 8 7
5 A 7 7
6 A 4 7
7 A 2 7
使用数据框,您可以尝试:
df %>% group_by(Name) %>% add_count(Name) %>% filter(n >= 5)