如何将行条目改为 "未知"?

问题描述 投票:0回答:1

数据框中的列是一个因子,有8个级别。""是作为一个因子包含的。我想把""改为 "未知"。

df[df$VariantType == ""] <- "Unknown" 

正在产生一个错误

我必须投向另一种数据类型吗?

r casting na
1个回答
1
投票

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"
© www.soinside.com 2019 - 2024. All rights reserved.