R 筛选列A!=B列

R 筛选列A!=B列,r,dplyr,filtering,R,Dplyr,Filtering,我想选择A和B的值不一致且A和B是因子的所有行;上面的代码在Ops.factorA,B中抛出错误:因子的级别集不同根据Gregor的注释展开: 使用dplyr: 将它们转换为字符。如果不想永久使用,请使用as.characterA!=as.characterB在筛选器中,转换将不会保存。 library(magrittr) library(dplyr) A <- c('X', 'X', 'Y', 'Y') B <- c('X', 'X', 'Y', 'Z') sample_df &

我想选择A和B的值不一致且A和B是因子的所有行;上面的代码在Ops.factorA,B中抛出错误:因子的级别集不同

根据Gregor的注释展开:

使用dplyr:

将它们转换为字符。如果不想永久使用,请使用as.characterA!=as.characterB在筛选器中,转换将不会保存。
library(magrittr)
library(dplyr)
A <- c('X', 'X', 'Y', 'Y')
B <- c('X', 'X', 'Y', 'Z')

sample_df <- data.frame(A, B)

sample_df %>% filter(A!=B)
sample_df %>% 
  mutate_all(., as.character) %>%
  filter(A!=B)