2

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

False, FALSE, True, TRUE

我需要减少到2个级别

FALSE, TRUE

我已经这样做了(效果很好)但是有没有更好的方法:

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
4

1 回答 1

9

只需使用as.logical

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

来自?as.logical

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

于 2013-08-13T13:57:24.530 回答