Я пытаюсь сравнить два фактора в кадре данных, чтобы создать новую переменную. Факторы имеют разные уровни, что вызывает ошибку.
Вот воспроизводимый пример
library(dplyr)
library(forcats)
mtcars %>%
select(gear, carb) %>%
mutate_at(c("gear", "carb"), ~as_factor(.)) %>%
mutate(gear_vs_carb = gear == carb)
И вот ошибка:
Error in Ops.factor(gear, carb) : level sets of factors are different
Я понимаю, что могу провести сравнение, преобразовав факторы в символы или числа и / или добавив неиспользуемые уровни к факторам, чтобы уровни совпадали, например Как сравнить два фактора с разными уровнями?
Но можно ли провести сравнение напрямую с исходными факторами?
Результат должен выглядеть так же, как и для
mtcars %>%
select(gear, carb) %>%
mutate(gear_vs_carb = gear == carb)
Спасибо за помощь!