我使用mtcars数据帧,并使用以下代码将NA
分配给drat
和wt
列的所有值<=3.
df <- mtcars %>%
mutate(across(c(drat, wt), ~ifelse(.x<=3, NA, .x)))
如果同一行中drat
或wt
的值为<=3.最后,我希望drat
或wt
为NA
的每一行在qsec
列中也有NA
.谢谢
我使用mtcars数据帧,并使用以下代码将NA
分配给drat
和wt
列的所有值<=3.
df <- mtcars %>%
mutate(across(c(drat, wt), ~ifelse(.x<=3, NA, .x)))
如果同一行中drat
或wt
的值为<=3.最后,我希望drat
或wt
为NA
的每一行在qsec
列中也有NA
.谢谢
我们可以在更改为NA
的列上使用if_any
来返回逻辑向量,以替换"qsec"中的值
library(dplyr)
mtcars1 <- mtcars %>%
mutate(across(c(drat, wt), ~ifelse(.x<=3, NA, .x)),
qsec = ifelse(if_any(c(drat, wt), is.na), NA, qsec))
-输出
> head(mtcars1)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 NA NA 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 NA NA 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 NA NA 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 NA 3.460 NA 1 0 3 1