【发布时间】:2021-06-06 12:16:30
【问题描述】:
这是我的数据示例
df = data.frame(id = rep(1:3, each = 1),
test = sample(40:100, 3),
Sets = c(NA,4,4),
CheWt = c(NA,4,NA),
LatWt = c(NA,5,5))
我想在标题中有"Wt" 的列中将所有NA 转换为0。我正在尝试使用 dplyr 和 mutate across
df = df%>%
mutate(across(contains("Wt"), replace(is.na(), 0)))
这是错误
Error: Problem with `mutate()` input `..1`.
x argument "values" is missing, with no default
i Input `..1` is `(function (.cols = everything(), .fns = NULL, ..., .names = NULL) ...`.
【问题讨论】:
-
replace()需要 3 个参数,而您只传递了 2 个参数。mutate(across(contains("Wt"), ~ replace(., is.na(.), 0))) -
df[grep("Wt", names(df))][is.na(df[grep("Wt", names(df))])] <- 0