【发布时间】:2021-11-11 22:20:11
【问题描述】:
我有一个包含 7 个不同功能的数据框。 我需要缩放值,但要针对每个孤立的特征。我目前正在使用“重新调整”。但是,我只能将其放入一列,并使用 1 个特征的这些最小值和最大值转换所有数据!!
如何为 R 中的每个列/功能使用 MinMaxScaler?
【问题讨论】:
-
请提供足够的代码,以便其他人更好地理解或重现问题。
我有一个包含 7 个不同功能的数据框。 我需要缩放值,但要针对每个孤立的特征。我目前正在使用“重新调整”。但是,我只能将其放入一列,并使用 1 个特征的这些最小值和最大值转换所有数据!!
如何为 R 中的每个列/功能使用 MinMaxScaler?
【问题讨论】:
例如,您可以在所有列的循环中使用 minmax 函数。
minmax <- function(x, na.rm = TRUE) {
return((x- min(x)) /(max(x)-min(x)))
}
df <- mtcars
dfs1 <- as.data.frame(sapply(df, minmax))
dplyr::mutate_all()
require(dplyr)
dfs2 <- df %>%
dplyr::mutate_all(.funs = "minmax")
> all.equal(dfs1$mpg, dfs2$mpg)
[1] TRUE
【讨论】: