R函数在两个因子变量不具有相同级别时检查错误

时间:2016-04-13 10:03:16

标签: r

我想知道你们其中一个人是否知道一个函数可以告诉你为什么这两个对象不匹配。

实际上,我想比较处理同一种变量(市政)的两个变量,不幸的是其中一个变量比另一个变量更多。因此,我想知道哪些城市只包括其中一个(因为我有超过900个,我不希望一个接一个地查看)

这是我的代码:

depext <- ifelse(EMQmetro$MUNI==EMQmetro$V08C_1, "same","diff")

*Error in Ops.factor(EMQmetro$MUNI, EMQmetro$V08C_1) : 
  les niveaux des facteurs diffèrent*

identical(EMQmetro$MUNI, EMQmetro$V08C_1, num.eq = TRUE, single.NA = TRUE, attrib.as.set = TRUE,
          ignore.bytecode = TRUE, ignore.environment = FALSE)

输出:

 *[1] FALSE*

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

列为factor类。要使==生效,应将其转换为character

 ifelse(as.character(EMQmetro$MUNI)==as.character(EMQmetro$V08C_1), "same","diff")

如果我们在一个级别中至少有差异,则identical将为FALSE。有时,一列中会有未使用的级别会产生问题。