Как напечатать вывод функции используя цикл for - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь напечатать нормализованное значение для всех трех столбцов отдельно. Для этого я использую цикл for, вместо этого я получаю только последний столбец с функцией печати, в то время как нет столбца без функции печати. ​​Как я могу получитьвсе выходы по отдельности ??

library(tibble)
data_frame<-tibble(c1=rnorm(50,4,2),
               c2=rnorm(50,4,2),
               c3=rnorm(50,4,2))


   normalize<-function(l)
    {
       (l-min(l))/(max(l)-min(l))
    }
       for (i in length(data_frame))
   {
 normalize(data_frame[i])
   }

1 Ответ

1 голос
/ 08 октября 2019

Попробуйте mutate_all

library(dplyr)
normalize <- function(x) (x - min(x)) / (max(x) - min(x))
data_frame %>% mutate_all( normalize )

или

replace(data_frame, TRUE, lapply(data_frame, normalize))

или если вы не возражаете перезаписать data_frame:

data_frame[] <- lapply(data_frame, normalize)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...