首页 > 解决方案 > forcats 并将其他级别设置为 NA

问题描述

我试图将许多小类别级别归为NA使用forcatsfct_lump

> h <- forcats::fct_lump_min(factor(mtcars$gear),min = 7,other_level = NA)
> is.na(h)
 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[23] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> table(h,useNA = "always")
h
   3    4 <NA> 
  15   12    5 
> is.na(h)
 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[23] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> table(h,useNA = "ifany")
h
   3    4 <NA> 
  15   12    5 

table(h,useNA="ifany")我得到的印象是 NA 已被正确分配,但is.na(h)反驳了这一点。

是否可以使用方便fct_lump以某种方式分配NA给其他级别?

标签: rtidyverseforcats

解决方案


推荐阅读