Имею в виду стандартизировать переменные и добавить к данным - PullRequest
0 голосов
/ 16 мая 2018

Я хотел бы стандартизировать несколько переменных в наборе данных (чтобы обозначить = 0 и стандартное отклонение = 1), а затем добавить эти переменные в фрейм данных с суффиксом '_sd', добавленным к имени переменной.Я попытался изменить код для преобразования журнала ниже, но это не сработало.Спасибо!

data("mtcars")

#This is what the code looks like manually
mtcars$disp_sd <-  scale(disp, center = TRUE, scale = TRUE)

#Code which works for log transformation
log.outcomes <- c("disp", "hp", "wt", "qsec")
data <- mtcars %>%
mutate_at(vars(one_of(log.outcomes)), funs(log = log(.))) %>%
rename_at(vars(contains("_log")), funs(paste0("log", gsub("_log", "", .))))

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Попробуйте это

log.outcomes <- c("disp", "hp", "wt", "qsec")
data <- mtcars %>%
           mutate_at(vars(one_of(log.outcomes)), funs(sd = scale(., center=TRUE, scale=TRUE)))
0 голосов
/ 16 мая 2018

Мне кажется, это работает:

dat <- mtcars %>%
  mutate_at(vars(disp, hp, wt, qsec), funs(sd =  (. - mean(.)) / sd(.)))
...