仅缩放某些列R.

Ren*_*aSo 3 r dataframe

如何仅缩放(x)数据帧的某些列?我有一个包含7列的数据框,我想只缩放第3列和第6列.其余的应保持不变.

akr*_*run 9

我们可以这样做lapply.子集感兴趣的列,使用它们循环lapply,将输出分配回数据子集.在这里,我们正在使用,c因为outpuf scalematrix一个单列.使用cas.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)

  • 较晚的答案,但您也可以简单地使用`df [c(3,6)] &lt;-scale(df [c(3,6)])` (2认同)