数据框中的列是一个因子,有8个级别。""是作为一个因子包含的。我想把""改为 "未知"。
df[df$VariantType == ""] <- "Unknown"
正在产生一个错误
我必须投向另一种数据类型吗?
R在因子水平方面很挑剔。你必须更换 级别 替换为新的。
df <- data.frame(id=1:3, VariantType=c("A","","B"))
str(df)
#'data.frame': 3 obs. of 2 variables:
# $ id : int 1 2 3
# $ VariantType: Factor w/ 3 levels "","A","B": 2 1 3
df
# id VariantType
#1 1 A
#2 2
#3 3 B
levels(df$VariantType)
#[1] "" "A" "B"
现在用 "未知 "代替""。你可以使用索引手动完成。
levels(df$VariantType)[1] <- "Unknown"
或者使用逻辑表达式
levels(df$VariantType)[levels(df$VariantType)==""] <- "Unknown"
df
# id VariantType
#1 1 A
#2 2 Unknown
#3 3 B
levels(df$VariantType)
#[1] "Unknown" "A" "B"