R 如何将因素分解为;其他";(不基于尺寸)
我正在处理NHL球员数据,我基本上想将一部分球员的分数与其他人进行比较。所以我有球员数据,看起来像这样:R 如何将因素分解为;其他";(不基于尺寸),r,forcats,R,Forcats,我正在处理NHL球员数据,我基本上想将一部分球员的分数与其他人进行比较。所以我有球员数据,看起来像这样: Player Season Team Position GP TOI G A P P1 `P/60` <chr> <int> <chr> <chr> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
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
fct\u lump
不适合处理您想要的灵活性。您应该使用dplyr的if_else
来表示一个与所有其他观察结果的对比
library(dplyr)
NHL %>%
mutate(Player = if_else(Player == "Kasperi Kapanen", "Kasperi Kapanen",
"others"))
或案例(当
用于多个ifelse比较时)
NHL %>%
mutate(Player = case_when(
Player == "Kasperi Kapanen" ~ "Kasperi Kapanen",
Player == "Adam" ~ "Adam",
TRUE ~ "others"
))
您可以使用
forcats::fct_other
并指定要保留的级别。其他一切都会成为你给的“其他”的名字。
library(dplyr)
NHL %>%
mutate(Player = if_else(Player == "Kasperi Kapanen", "Kasperi Kapanen",
"others"))
NHL %>%
mutate(Player = case_when(
Player == "Kasperi Kapanen" ~ "Kasperi Kapanen",
Player == "Adam" ~ "Adam",
TRUE ~ "others"
))