R 错误:未实现这些类型的比较尝试根据匹配的列过滤行时发生

问题描述

我觉得我可能缺少一个包裹。这段代码在我的旧笔记本电脑上运行良好,但当我将所有内容转移到台式电脑时,它无法配合。

我合并了来自两个来源的数据,每个来源都有一列包含美国各州的 2 位数标识符:

distarea <- merge(x=femadata2,y=censdata2,by = ("CTYNAME"),all=FALSE)

我只想查看这些列中的每一列中的状态匹配的行:

distarea2 <- distarea[distarea$FEMAState==distarea$STNAME,]

运行此行后,我收到此错误

distarea$FEMAState == distarea$STNAME 中的错误: 未实现这些类型的比较 另外: 警告信息: 在 [.data.frame(distarea,distarea$FEMAState == distarea$STNAME,: “==”的不兼容方法(“Ops.factor”、“Ops.data.table”)

先谢谢你!

解决方法

那些是 factor 列。我们可以转换为 character

  distarea[as.character(distarea$FEMAState)== as.character(distarea$STNAME),]