我有一个逻辑类型列Self_Employed,值为TRUE和FALSE,它缺少表示“雇员”而不是自营职业者的值。我想把“失踪”一词归到专栏中。
class(df$Self_Employed)
[1] "logical"
levels(df$Self_Employed)
NULL
sum(is.na(df$Self_Employed))
[1] 210
table(df$Self_Employed)
FALSE TRUE
1561 271获取类为“逻辑”,级别为NULL,缺失和为210,表显示为true和false的总数。
先把缺失归责为因由,然后才算漏,但不补,只表示NA,等级只说真假。
df$Self_Employed <- as.factor(df$Self_Employed)
levels(df$Self_Employed)[levels(df$Self_Employed)=="" ] <- "SE_Missing"
levels(df$Self_Employed)
[1] "FALSE" "TRUE" 只显示真假的级别和is.na显示相同的210
df$Self_Employed <- factor(df$Self_Employed,levels=c('FALSE','TRUE',''),labels=c('Yes','No','SE_Missing'))如何填充缺失因子
我需要将True转换为"Yes",False转换为"No",NA转换为"SE_Missing“
发布于 2019-05-14 05:53:02
我不认为你需要把列变成因子。下面是一个使用虚拟数据集的示例
library(dplyr)
df %>%
mutate(b = case_when(b ~ "Yes",
!b ~ "No",
TRUE ~ "SE_Missing"))
# a b
#1 1 Yes
#2 2 Yes
#3 3 No
#4 4 SE_Missing
#5 5 No
#6 6 SE_Missing或者使用嵌套的ifelse,它也可以集成在mutate中。
with(df, ifelse(is.na(b), "SE_Missing", ifelse(b, "Yes", "No")))
#[1] "Yes" "Yes" "No" "SE_Missing" "No" "SE_Missing"数据
df <- data.frame(a = 1:6, b = c(TRUE, TRUE, FALSE, NA, FALSE, NA))
# a b
#1 1 TRUE
#2 2 TRUE
#3 3 FALSE
#4 4 NA
#5 5 FALSE
#6 6 NAhttps://stackoverflow.com/questions/56123708
复制相似问题