【发布时间】:2014-07-30 19:39:03
【问题描述】:
我想根据多个 data.frames 中唯一匹配的 ID 查找匹配数
数据如下所示:
df1: KeyID
x
x
y
y
z
df2: KeyID
x
x
x
z
z
df3: KeyID
x
y
y
z
我想计算数据帧之间唯一匹配的数量。
输出如下所示: 2
因为 x 和 z 是两个集合之间的唯一匹配项。
我已经这样做了,但想知道是否有更快的方法:
df1.2 <- df2[df2$KeyID %in% df1$KeyID,]
length(unique(df1.2$KeyID))
有什么想法吗?
【问题讨论】:
-
这不是
sum(unique(df1$KeyID) %in% unique(df2$KeyID)))吗?实际上,现在我考虑得更多,如果它们是因素,您可能需要将as.character包裹起来。 -
@BondedDust 仅在位置无关紧要的情况下......就目前而言,很难说出提问者想要什么......
-
位置无关紧要...只想知道两个数据帧中或dfs 1,2,3等中有多少KeyID。
-
您提到了多个数据集/向量。如果两个以上:
Reduce("intersect", listofvectors) -
@akrun reduce 是包的一部分吗?