我正在使用NHL球员数据,而我基本上想将所选球员得分与其他人群进行比较。所以我有如下播放器数据:
Player Season Team Position GP TOI G A P P1 `P/60`
<chr> <int> <chr> <chr> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
Aaron~ 2019 FLA D 35 603. 3 2 5 3 0.5
Adam ~ 2019 CBJ D 4 35.5 0 0 0 0 0
Adam ~ 2019 T.B L 23 218. 2 7 9 5 2.48
,以此类推。我想比较其中一项观察结果与其余数据集之间的摘要统计量。
Player Season Team Position Summary Statistic
<chr> <int> <chr> <chr> <int>
Kasperi 2019 FLA D 45
"Others" 2019 CBJ D 53
我已经看到fct_lump用于选择排名靠前的记录,但是当我尝试类似于使用播放器名称的方法时,却无法正常工作。
NHL %>%
mutate(Player = fct_lump(Player,
Kasperi Kapanen = "Kasperi Kapanen",
other = !("Kasperi Kapanen")))
答案 0 :(得分:2)
fct_lump
不适合处理您想要的灵活性。您应该针对所有其他观察结果使用 dplyr的 if_else
library(dplyr)
NHL %>%
mutate(Player = if_else(Player == "Kasperi Kapanen", "Kasperi Kapanen",
"others"))
OR case_when
进行多个 ifelse 比较。
NHL %>%
mutate(Player = case_when(
Player == "Kasperi Kapanen" ~ "Kasperi Kapanen",
Player == "Adam" ~ "Adam",
TRUE ~ "others"
))