У меня есть набор данных ниже:
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)