Контекст проблемы: замените переменную chr во фрейме данных, сохранив значения chr во фрейме данных, используя mutate case_when для условной проверки (case_when) для определения значения для мутированного результата.
Целью является переменная с именем: length_of_service
условные данные для case_when: «<1 год», «2 года», «3 года», «4 года», «5 лет», «6 лет», «7 лет», « 8 лет "," 9 лет "," 10+ лет "</p>
Код попытки попытки: я могу построить фрейм данных с одной переменной length_of_service, преобразовать строку символов года (ов) в эквивалентную цифру c, затем измените переменную внутри этого фрейма данных, затем cbind () фрейм данных df_length с исходным фреймом данных. Я не буду перезаписывать исходные length_of_services внутри исходного фрейма данных до тех пор, пока не будет выполнено предложение mutate / case_when (). Затем я могу заменить cbind () для объединения фреймов данных. Я приветствую предложения по решению проблемного подхода.
df_length <- data.frame(length_of_service = numeric())
df_length %>%
mutate(df$length_of_service == case_when(
df$length_of_service == "< 1 year" ~ 0.99,
df$length_of_service == "2 years" ~ 2,
df$length_of_service == "3 years" ~ 3,
df$length_of_service == "4 years" ~ 4,
df$length_of_service == "5 years" ~ 5,
df$length_of_service == "6 years" ~ 6,
df$length_of_service == "7 years" ~ 7,
df$length_of_service == "8 years" ~ 8,
df$length_of_service == "9 years" ~ 9,
df$length_of_service == "10+ years" ~ 10,
TRUE ~ "NA"
)
Результат / Ошибка:
Ошибка: должен быть двойным вектором, а не символьным вектором