Сопоставлять общие строки между разными кадрами данных в новом организованном 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))
"буква", однако, "row.names" на каждом df имеет только один столбец с числовым "x", ранжированные значения.
1 ответ
Здесь не так много деталей, но я стараюсь предложить базовый подход. Функция ниже проверяет, предоставлены ли два аргумента из 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
если кадры данных достаточно большие, используйте более строгие / гибкие логические условия для проверки идентичности между кадрами данных.