有人可以帮助我匹配三个或更多不同排名的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))
但是,“字母”是每个df上的“ row.names”,只有一列带有数字“ x”,即排名值。
没有很多细节,但我尝试建议一种基本方法。如果下面从所提供的两个参数测试的功能dataFrame1
和dataFrame2
它们之间的匹配。在TRUE
回答的均匀性中,它将共同的价值存储在一个新的中dataFrame3
。方括号中的索引代表您要测试的行。
matching_row <- function(x, y) {
if (identical(x, y)) {
dataFrame3 <- x
}
}
dataFrame3 <- matching_row(dataFrame$x[row], dataFrame2$x[row])
您可以通过添加数据来根据数据的特性来修改功能,例如,loop
如果数据帧很大,或者使用更严格/更灵活的逻辑条件来测试数据帧之间的身份,则可以进行修改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句