Как я пересекаю два data.frames в R?
У меня есть две таблицы, которые находятся в структуре data.frame. Таблица 1 содержит столбец из 200 идентификаторов генов (букв и цифр), а таблица 2 содержит список из 4000 идентификаторов генов (в строках), а также 20 дополнительных столбцов. Я хочу пересечь эти две таблицы и сгенерировать новую таблицу 3, которая содержит 200 идентификаторов генов, а также соответствующую информацию в 20 столбцах.
table3 <- table1% n% table2
2 ответа
Вы хотите что-то вроде
table3 <- merge(table1, table2, by.x="id", by.y="id", all.x=T, all.y=F)
Вы также можете сделать поднабор с чем-то вроде этого:
table3 <- table2[table2$id %in% table1$id,]
Представление представило бы этому посту больше шансов получить хороший ответ, но вы должны были бы найти что-то, чтобы помочь вам с небольшим поиском. Если они не работают из-за того, что у вас есть уникальная проблема, которую никто раньше не задавал, мы предлагаем вам альтернативные решения.
отредактируйте: для большего контекста, вот аналогичный вопрос, на который я ответил на прошлой неделе, и вот отличный пост о понимании слияний.
Я рекомендую dplyr
пакет. Это работает более интуитивно, чем merge
по-моему.
Вы можете просто набрать:
table3 <- left_join(table1, table2, by = "unique_id")