我有一个变量,其NA称为df$salesContribution
。
我使用dplyr
在下面创建了一条语句,但无法弄清楚为什么我的df$salesContribution
仍然返回NA:
df<- df %>%
mutate(salesContribution = as.numeric(salesContribution)) %>%
replace_na(0)
0
是否未注册?
答案 0 :(得分:1)
看起来像你想要的
df$salesContribution <- df$salesContribution %>% as.numeric() %>% replace_na(0)
答案 1 :(得分:0)
您可以使用基本replace
:
df<- df %>%
mutate(salesContribution = replace(as.numeric(salesContribution), which(is.na(salesContribution)), 0)
答案 2 :(得分:0)
如果使用data.table
软件包,您可以执行以下操作:您可以尝试执行以下操作:
x[is.na(field_name)][, field_name := replacement_value]
data.frame也应该有类似的语法。
答案 3 :(得分:0)
replace_na()将不起作用,并且替换还不是您的因素的水平。如果这是问题所在,则可以在运行replace_na()之前将因子0的其他级别添加到0,或者可以先将变量转换为数字或字符。