在新组织的 df 中匹配不同数据帧之间的公共行

match common rows between different dataframes in a new organized df

有人可以帮我匹配三个或更多不同排名的 df 以获得最后一个只包含所有这些 df 共有的行吗?我正在尝试匹配和合并功能,但我不能再继续了。

数据可能如下所示:

A <- data.frame(letter=LETTERS[sample(10)], x=runif(10)) B <- data.frame(letter=LETTERS[sample(10)], x=runif(10)) C <- data.frame(letter=LETTERS[sample(10)], x=runif(10))

然而,

"letter" 是每个 df 上的 "row.names" 只有一列带有数字 "x",排名值。

细节不多,但我尽量提出一个基本的方法。下面的函数测试 dataFrame1dataFrame2 提供的两个参数是否匹配。在 TRUE 答案的情况下,它将公共值存储在一个新的 dataFrame3 中。方括号中的索引代表您要测试的行。

matching_row <- function(x, y) {
        if (identical(x, y)) {
        dataFrame3 <- x
        }
}
dataFrame3 <- matching_row(dataFrame$x[row], dataFrame2$x[row])

您可以根据数据的特点修改函数,即如果数据帧很大,则添加一个loop,或者更多strict/flexible逻辑条件来测试数据帧之间的身份.