Ввести недостающие значения для числовых и категориальных значений, а также отцентрировать и масштабировать категориальные значения с исключениями в R - PullRequest
0 голосов
/ 16 апреля 2020

Я хотел бы рассчитать медиану для числовых пропущенных значений и режим для категорических пропущенных значений, а затем преобразовать все категориальные значения в макеты, отцентрировать и масштабировать их. Однако я не хочу ни преобразовывать идентификаторы клиентов, ни центрировать и масштабировать их. Не могли бы вы помочь мне исправить мой код?

library(recipes)
train.recipe <- recipe(y ~., data = trainingdata) %>%
  step_medianimpute(all_numeric()) %>%
  step_modeimpute(all_nominal())
  step_dummy(all_nominal(), -all_outcomes(), - trainingdata$Customer_ID) %>%
    step_center(all_predictors(), -trainingdata$Customer_ID) %>%
    step_scale(all_predictors(), -trainingdata$Customer_ID)

train.recipe %>%
  prep() %>%
  bake(., data.clean) %>%
  glimpse()

1 Ответ

0 голосов
/ 16 апреля 2020

Не зная вашего фрейма данных и предполагая, что идентификатор клиента является единственной переменной, которую вы не хотите преобразовывать, вы можете просто сначала преобразовать идентификаторы в имена строк перед преобразованием:

df %>%
  column_to_rownames("id") # to convert column to rownames

df %>%
  rownames_to_column("id") # to revert that

Для этого идентификаторы клиентов должны быть уникальными!

...