【发布时间】:2018-06-27 00:23:30
【问题描述】:
在我正在分析的数据集中,我选择了一些变量,我想缩放到 1 个标准差,但不是中心。我在下面的示例中使用scale()function 进行了尝试。
require(tidyverse)
set.seed(1)
df <- data.frame(replicate(10, sample(0:1000, 1000, rep = TRUE)))
scaled_vars <- df %>%
select(X1 : X6) %>%
map(~scale(., center = F)
但是,通过阅读scale()文档,如果center = F 则缩放到均方根,而不是标准差。文档指出,要在不居中的情况下缩放到标准偏差,请使用代码:
scale(x, center = FALSE, scale = apply(x, 2, sd, na.rm = T))
但是,我似乎无法让该代码在我的 map 函数中工作。
map(~scale(., center = F, scale = apply(., 2, sd, na.rm = T)
错误消息指出找不到对象“x”。如何调整我的代码以实现我的目标?谢谢。
【问题讨论】:
标签: r