具有4个等级的因子False,FALSE,True,TRUE但仅需要2个等级

Ste*_*man 2 r

我将数据框中的列设置为具有4个级别的因子

False, FALSE, True, TRUE
Run Code Online (Sandbox Code Playgroud)

我需要降低到2级

FALSE, TRUE
Run Code Online (Sandbox Code Playgroud)

我做了这个(工作正常)但是有更好的方法:

df$col1 <- as.character(df$col1)    # change the factor to chr
df$col1 <- toupper (df$col1)        # Ensure all are uppercase
df$col1 <- as.factor(df$col1)       # change back
Run Code Online (Sandbox Code Playgroud)

sgi*_*ibb 9

只需使用as.logical:

d <- c("False", "FALSE", "True", "TRUE")
factor(as.logical(d))
# [1] FALSE FALSE TRUE  TRUE 
# Levels: FALSE TRUE
Run Code Online (Sandbox Code Playgroud)

来自?as.logical:

字符串c("T", "TRUE", "True", "true")被视为真, c("F", "FALSE", "False", "false")虚假,其他所有 NA.