Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将因素分解为;其他";(不基于尺寸)_R_Forcats - Fatal编程技术网

R 如何将因素分解为;其他";(不基于尺寸)

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>

我正在处理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

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" 
                             ))