【发布时间】:2018-11-04 01:41:42
【问题描述】:
我在下面有一个数据集:
A B C D
500 2 4 6
501 6 8 45
502 4 7 9
如何对除第一个要标准化的列之外的每一列进行标准化,并与每列的平均值设置标准偏差。
例如下面是每列的方法:
B = 4
C = 6.333
D = 20
然后我想用不大于任一方向平均值的 25% 的边界进行归一化。
我认为您可以通过重新缩放来做到这一点,但我只是不知道如何将其应用于所有列:
library(scales)
rescale(x, to = c(mean - 0.25*mean, mean + 0.25*mean)
我知道这是一种方法,但它没有考虑到界限和 25% 的标准差集:
normalized <- function(x){
return((x-min(x)) / (max(x)-min(x)))
}
normalized_dataset<-df %>%
mutate_at(vars(-one_of("A")), normalized)
【问题讨论】:
-
我不知道如何计算,但我想用新的标准化值替换除第一列之外的当前列。
-
您能否确认您说的是
scales::rescale,并将库调用添加到您的问题中? -
是的,指的是
scales包。刚刚添加了,谢谢