это должно работать
lapply(df, function(x) scale(x, center = FALSE, scale = max(x, na.rm = TRUE)/100)))
РЕДАКТИРОВАТЬ:
, если ваша цель - использовать максимальное значение любого из столбцов в качестве ссылки для масштабирования, вы можете сделать что-то вроде этого:
lapply(df, function(x) scale(x, center = FALSE, scale = max(df, na.rm = TRUE)/100))
ваши столбцы примут следующие значения:
a
[,1]
[1,] 0.50
[2,] 1.50
[3,] 2.00
[4,] 3.00
[5,] 4.35
[6,] 4.50
[7,] 5.00
[8,] 6.00
[9,] 9.65
[10,] 10.00
attr(,"scaled:scale")
[1] 2
b
[,1]
[1,] 5.0
[2,] 15.0
[3,] 20.0
[4,] 30.0
[5,] 43.5
[6,] 45.0
[7,] 50.0
[8,] 60.0
[9,] 95.0
[10,] 100.0
это то, что вы хотите?