我正在尝试比较数据框中的两个因素以创建一个新变量。这些因素有不同的水平,这是抛出一个错误。
这是一个可重现的示例
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)
谢谢您的帮助!