根据位置改变特定列

Mutate specific columns based on position

我试图将数据框特定列中的所有负值转换为 0。例如,我如何将 3:5 列中的负值转换为零,mtcars 数据中的负值转换为 8?

mtcars <- mtcars%>%
mutate(across(c(3:5,8), funs(replace(., .<0, 0)))

非常感谢您的帮助!

这可以这样实现:

library(dplyr)

mtcars <- mtcars %>%
  mutate(across(c(3:5,8), ~ if_else(. < 0, 0, .)))