我们可以这样做lapply.子集感兴趣的列,使用它们循环lapply,将输出分配回数据子集.在这里,我们正在使用,c因为outpuf scale是matrix一个单列.使用c或as.vector,它被转换为vector
df[c(3,6)] <- lapply(df[c(3, 6), function(x) c(scale(x)))
Run Code Online (Sandbox Code Playgroud)
或者另一种选择mutate_at来自dplyr
library(dplyr)
df %>%
mutate_at(c(3,6), funs(c(scale(.))))
Run Code Online (Sandbox Code Playgroud)