【发布时间】:2020-11-19 00:48:57
【问题描述】:
我有这个数据框
dtf <- data.frame(
id = seq(1, 4),
amt = c(1, 4, NA, 123),
xamt = c(1, 4, NA, 123),
camt = c(1, 4, NA, 123),
date = c("2020-01-01", NA, "2020-01-01", NA),
pamt = c(1, 4, NA, 123)
)
如果 colname 是数字,我想替换所有 NA 值,在我的例子中是 amt、xamt、pamt 和 camt。我正在寻找 dplyr 方式。通常我会使用
replace(is.na(.), 0)
但由于日期列,这不起作用。
【问题讨论】:
-
如果想使用baseR:
rapply(dtf, classes = "numeric", f = function(x) replace(x, is.na(x), 0), how = "replace")