В R, как я могу заменить data.frame значениями из другого data.frame? - PullRequest
4 голосов
/ 19 марта 2012

У меня есть два кадра данных.Первый, df.1, содержит два столбца парных числовых идентификаторов, где каждый столбец содержит ~ 100 000 строк.Второй кадр данных, df.2, включает в себя один столбец (df.2$C) числовых идентификаторов.Этот фрейм данных имеет около 200 строк.

Как найти парное подмножество данных df.1, которое включает только строки со значениями идентификаторов, найденных в df.2$C?

Конечное подмножество будет включать парные данные df.1, которые соответствуют идентификаторам, найденным в df.2$C, которые соответствуют идентификаторам, найденным в df.1$A, df.1$B или обоим.

1 Ответ

15 голосов
/ 19 марта 2012

Вы можете использовать ?"%in%" (аналогично ?match):

df1 <- data.frame(A=sample(1:10, 10), B=sample(1:10, 10))
df2 <- data.frame(C=1:5)

selectedRows <- (df1$A %in% df2$C | df1$B %in% df2$C)

dfReduced <- df1[selectedRows,]
...