【发布时间】:2021-01-18 16:33:18
【问题描述】:
我想将初始数据帧 (df) 的 a 和 b 列更改为数据帧 df_new 中的列。如果 NAvar 列是 NA,我基本上只想将列 a 和 b 的值设置为“999”。 mutate 和 cross 怎么可能?
df <- data.frame(a =1:5, b = 6:10, NAvar = c(NA, 1, 12, 4, NA))
df %>%
dplyr::filter(is.na(NAvar)) %>%
select(colnames(df)) %>%
mutate(across(c("a", "b"), EqualsTo=999))
df_new <- data.frame(a = c(999, 2:4, 999), b = c(999, 7:9, 999), NAvar = c(NA, 1, 12, 4, NA))
df
df_new
【问题讨论】: