【发布时间】:2019-03-16 06:37:28
【问题描述】:
我想标准化数据框中的许多列,但不是所有列。要操作的列在向量中指定。
为了说明,采用以下模拟数据框:
set.seed(1)
mydf <- data.frame(matrix(sample(100, 36, replace = TRUE), nrow = 12))
定义要操作的两列(请注意,解决方案应适用于由其名称定义的列子集,而不是它们的数据帧编号):
variables <- c("X1", "X2")
现在我编写了以下循环来标准化这两列,这会引发错误。
for (i in seq_along(variables)) {
mydf[variables[i]] <- ((mydf[variables[i]] - mean(mydf[variables[i]], na.rm = TRUE)) / sd(mydf[variables[i]], na.rm = TRUE))
}
这样做的正确方法是什么? (我是 R 的初学者。)
【问题讨论】:
标签: r