仅缩放某些列R.

时间:2018-04-19 15:20:46

标签: r dataframe

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

1 个答案:

答案 0 :(得分:8)

我们可以使用lapply执行此操作。子集感兴趣的列,使用lapply循环它们,将输出分配回数据子集。在这里,我们使用的是c,因为scale的outpuf是一个matrix,只有一列。使用cas.vector,它会转换为vector

df[c(3,6)] <- lapply(df[c(3, 6), function(x) c(scale(x)))

或其他选项mutate_at来自dplyr

library(dplyr)
df %>%
   mutate_at(c(3,6), funs(c(scale(.))))