Переименование имен переменных в R. - PullRequest
0 голосов
/ 20 сентября 2018

Я хочу заменить «LF» на «Low Fat», и это код, который я использовал:

train$Item_Fat_Content[train$Item_Fat_Content =="LF"]= "Low FAt"

Когда я выполнил код, я получил сообщение с предупреждением:

In `[<-.factor`(`*tmp*`, train$Item_Fat_Content == "LF", value = c(3L,  :
  invalid factor level, NA generated

1 Ответ

0 голосов
/ 20 сентября 2018

Мы можем преобразовать его в character класс и затем выполнить присваивание

train$Item_Fat_Content <- as.character( train$Item_Fat_Content)
train$Item_Fat_Content[train$Item_Fat_Content =="LF"]= "Low FAt"

Или, если мы хотим сохранить class как factor, перед выполнением назначения создайтеa level в качестве "Low FAt", а затем выполните присваивание

levels(train$Item_Fat_Content) <- c(levels(train$Item_Fat_Content), "Low FAt")

ПРИМЕЧАНИЕ. Как указано в комментариях @doviod, при чтении данных с помощью read.table/read.csv, используйте stringsAsFactors = FALSE, если мы хотимиметь нечисловые столбцы как character класс (если нет особых причин иметь factor столбцы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...