R: Ошибка при перекодировании переменных с помощью функции car :: recode

Я часто использую функцию перекодирования в библиотеке (машине), чтобы перекодировать уровни в переменных. Мой код работал нормально до сегодняшнего дня, но теперь он выдает ошибку. Ничего не изменилось в df и т. Д., Не уверен, что происходит.
Может быть, кто-нибудь меня просветит!

Мой фрейм данных (образец):

test<-structure(list(Avg.Salary = c("65000", "395", "82000", "128357", 
"95785", "95785"), Education = c("Doctorate", "Professional Degree", 
"Bachelor's", "Professional Degree", "Master's", "Master's"), 
Count = c("D", "D", "D", "D", "D", "364584"), Year = c(2017, 
2017, 2017, 2017, 2017, 2017)), row.names = c("540061", "540071", 
"540081", "540091", "540102", "540112"), class = "data.frame")

Уровни в моем фактическом наборе данных: -

    Associate Degree           Associates           Bachelor's 
             205                   35                42446 
               D            Doctorate          High School 
           42902                 9846                  191 
        Master's    Missing Education           No Diploma 
           57644                  218                   79 
    Professional  Professional Degree         Some College 
             431                 6791                   60 
 Some College Credits 
             370 

Мой код (который до сегодняшнего дня работал нормально!): -

# Recode the education levels
test$Education<-recode(test$Education,
                 "c('Associate Degree','Associates','D','High School',
                    'No Diploma','Missing Education',
                    'Professional','Professional Degree','Some College',
                    'Some College Credits')='Others'")

Ошибка: - Error: Argument 2 must be named, not unnamed


person Rudr    schedule 27.06.2018    source источник


Ответы (1)


У меня он работает в чистом сеансе. Я предполагаю, что car::recode() конфликтует с dplyr::recode(). Работает ли квалификация функции? Замените recode на car::recode.

test$Education <- car::recode(test$Education,
                 "c('Associate Degree','Associates','D','High School',
                    'No Diploma','Missing Education',
                    'Professional','Professional Degree','Some College',
                    'Some College Credits')='Others'")

Когда я вызываю dplyr::recode() явно, я получаю сообщение об ошибке «Ошибка: аргумент 2 должен быть назван, а не безымянным».

test$Education <- dplyr::recode(...)
person wibeasley    schedule 27.06.2018
comment
спасибо, это отлично работает! Я не могу проголосовать за ваш ответ как за полезный, так как у меня низкая репутация, иначе это быстрое и простое решение. Спасибо еще раз! - person Rudr; 27.06.2018