В функции мы можем получить значение max
и передать его
ttemp <- function(){
df <- read.csv("/Untitled 3.csv")
# changed the MARGIN to 1 as it was not clear
df[,3:6] <- apply(df[, 3:6], 1, function(x) norm(x, max(x, na.rm = TRUE)))
df
}
Или другой параметр scale
df[, 3:6] <- scale(df[,3:6])
В функции ОП , min
принимается за 0
apply(df[, 3:6], 2, function(x) norm(x, max(x, na.rm = TRUE)))
# Da1 Da2 Da3 Da4
#[1,] 1.0000000 0.102243805 1.000000000 1.00000000
#[2,] 0.7352409 1.000000000 0.127614596 0.03275197
#[3,] 0.1313676 0.002546317 0.002408422 0.00000000
Если это строка, то измените MARGIN
на 1
t(apply(df[, 3:6], 1, function(x) norm(x, max(x, na.rm = TRUE))))