Для двух наборов координат извлечение уникальных строк из набора A минус набор B
У меня есть два набора координат:
- Установите A с 49,898 комбинациями х и у
- Установите B с 36 404 комбинациями x и y.
- (В наборе A есть все комбинации в наборе B плюс дополнительные 13 494 комбинации)
- решения в Excel или R в порядке
Я хочу извлечь этот уникальный набор из 13 494 комбинаций. Чтобы извлечь эти уникальные значения с помощью Excel или R, я скопировал комбинации координат X и Y в наборе B в тот же столбец, что и набор A.
Макет таблицы состоит из двух столбцов Xcod, Ycod
: x и y пример
Я прочитал несколько постов, в которых предлагается использовать excel & R, которые частично решают эту проблему, за исключением того, что результат всегда составляет 49 898 комбинаций, поскольку они поддерживают "оригинальный" набор повторяющихся значений. Я понимаю, почему это так, но я хотел бы полностью удалить эти дубликаты, чтобы у меня был окончательный вывод, содержащий уникальные 13 494 комбинации набора А.
[Excel] Я использовал следующее: Data -> Advanced Filter -> Unique records only
[R] Я использовал следующий код из этой темы:
UniqRemDups <- unique(RemDups[,c('Xcod','Ycod')])
Как отфильтровать уникальную комбинацию столбцов из кадра данных R
Любая помощь / совет будет принята с благодарностью.
1 ответ
Один путь в R с использованием функции uniquecombs от mgcv.
data <- structure(list(Xcod = c(4405000L, 4415000L, 4425000L, 4435000L,
4445000L, 4455000L, 4465000L, 4475000L, 4435000L, 4495000L, 4505000L,
4515000L, 4525000L, 4535000L, 4545000L, 4555000L, 4565000L, 4575000L,
4585000L), Ycod = c(4725000L, 4725000L, 4725000L, 4725000L, 4725000L,
4725000L, 4725000L, 4725000L, 4725000L, 4725000L, 4725000L, 4725000L,
4725000L, 4725000L, 4725000L, 4725000L, 4725000L, 4725000L, 4725000L
)), .Names = c("Xcod", "Ycod"), class = "data.frame", row.names = c(NA,
-19L))
library(mgcv)
unique_rows <- uniquecombs(data)