首页 > 解决方案 > 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") 为 "=="

先感谢您!

标签: rfilterdata.tablecomparisonmatching

解决方案


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

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

推荐阅读