【问题标题】:Scale only certain columns R [closed]仅缩放某些列 R [关闭]
【发布时间】:2018-09-30 04:05:52
【问题描述】:

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

【问题讨论】:

标签: r dataframe


【解决方案1】:

我们可以通过lapply 做到这一点。对感兴趣的列进行子集化,使用lapply 循环遍历它们,将输出分配回数据子集。在这里,我们使用c,因为scale 的输出是带有单列的matrix。使用cas.vector,它被转换为vector

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

或者另一个选项是来自dplyrmutate_at

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

【讨论】:

  • 感谢您快速简单的回答!
  • 迟到的答案,但您也可以简单地使用df[c(3, 6)] &lt;- scale(df[c(3, 6)])
  • df %>% mutate_at(c(3,6), scale)
猜你喜欢
  • 2015-07-23
  • 2018-04-23
  • 2017-03-29
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 1970-01-01
相关资源
最近更新 更多