Сопоставлять общие строки между разными кадрами данных в новом организованном 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 если кадры данных достаточно большие, используйте более строгие / гибкие логические условия для проверки идентичности между кадрами данных.

Другие вопросы по тегам