Подмножество фрейма данных уникальной комбинацией значений из другого фрейма данных в R - PullRequest
0 голосов
/ 15 января 2019

У меня большой кадр данных A, похожий на следующий, и второй, B, содержащий только значения широты / долготы.То, что я пытаюсь сделать, это установить подмножество фрейма данных A на основе уникальных комбинаций широты / долготы из фрейма данных B. До сих пор я пробовал следующее, но это не работает.Как я должен изменить свой код, чтобы эффективно сделать это?

head(A)
  vals       time     lon  lat mo year
1        5 1978-11-01 100 32    01 1988
2        3 1978-11-02 100 45    02 1988
3        3 1978-11-03 100 45    01 1998
4        9 1978-11-04 100 50    05 1998
5        1 1978-11-05 100 60    05 1998
6        4 1978-11-06 100 32    05 1998



A_subset <-subset(A, A[, "lon"] %in% B$lon | A[, "lat"]
                 %in% B$lat)

1 Ответ

0 голосов
/ 15 января 2019

Попробуйте запустить expand.grid на фрейме данных B для всей комбинации уникальных координат. Затем объединитесь с фреймом данных A:

B_all_combns <- expand.grid(lon = unique(B$lon), lat = unique(B$lat))

A_subset <- merge(A, B_all_combns, by=c("lon", "lat"))
...