R 引用由addNA创建的因子级别
如果我有一个带有R 引用由addNA创建的因子级别,r,R,如果我有一个带有NA值的因子数组,可以方便地 用附加级别和addNA 函数使这变得容易 x <- factor(c("a", "b", NA)) x ## [1] a b <NA> ## Levels: a b is.na(x) ## [1] FALSE FALSE TRUE x2 <- addNA(x) x2 ## [1] a b <NA> ## Levels: a b <NA> 我认为这是我能做的最干净
NA
值的因子数组,可以方便地
用附加级别和addNA
函数使这变得容易
x <- factor(c("a", "b", NA))
x
## [1] a b <NA>
## Levels: a b
is.na(x)
## [1] FALSE FALSE TRUE
x2 <- addNA(x)
x2
## [1] a b <NA>
## Levels: a b <NA>
我认为这是我能做的最干净的事情:
x <- factor(c("a", "b", "b", NA, "a", NA))
x2 <- addNA(x)
x2
#[1] a b b <NA> a <NA>
#Levels: a b <NA>
is.na(levels(x2))[x2]
#[1] FALSE FALSE FALSE TRUE FALSE TRUE
x我想这是我能做到的最干净的了:
x <- factor(c("a", "b", "b", NA, "a", NA))
x2 <- addNA(x)
x2
#[1] a b b <NA> a <NA>
#Levels: a b <NA>
is.na(levels(x2))[x2]
#[1] FALSE FALSE FALSE TRUE FALSE TRUE
x更新(2016-10-04):在提出这个问题后不久,软件包就发布了。它包含函数fct\u explicit\u na
,可轻松解决此问题
library(forcats)
x <- factor(c("a", "b", "b", NA, "a", NA))
x2 <- fct_explicit_na(x)
x2
## [1] a b b (Missing) a (Missing)
## Levels: a b (Missing)
x2 == '(Missing)'
## [1] FALSE FALSE FALSE TRUE FALSE TRUE
另一个选项(根据)是更换
与其他事物保持一致
levels(x2)[is.na(levels(x2))] <- "isNA"
x2
## [1] a b b isNA a isNA
## Levels: a b isNA
levels(x2)[is.na(levels(x2))]。它包含函数fct\u explicit\u na
,可轻松解决此问题
library(forcats)
x <- factor(c("a", "b", "b", NA, "a", NA))
x2 <- fct_explicit_na(x)
x2
## [1] a b b (Missing) a (Missing)
## Levels: a b (Missing)
x2 == '(Missing)'
## [1] FALSE FALSE FALSE TRUE FALSE TRUE
另一个选项(根据)是更换
与其他事物保持一致
levels(x2)[is.na(levels(x2))] <- "isNA"
x2
## [1] a b b isNA a isNA
## Levels: a b isNA
levels(x2)[is.na(levels(x2))]为真。根据我对该方法的理解,它看起来像是droplevels.factor
只是对factor
的调用。根据我对该方法的理解,它似乎是droplevels.factor
只是对factor
的调用。