У меня есть два объекта data.frame, которые должны получить его относительный набор дополнений от одного к другому. Я проверил подобный пост с этого сайта, конечно, кто-то спросил уже, но это был про вектор, и все в порядке. Тем не менее, я пробовал решение из существующей почты на этом сайте, но я не получил ожидаемого результата. Я пробовал несколько подходов, таких как setdiff, pmatch vise versa, а не возвращал ожидаемый результат. Может ли кто-нибудь предложить возможность эффективного решения этой задачи?Как получить относительное дополнение одного data.frame в другом?
пример
foo <- data.frame(start=seq(1, by=4, len=6), stop=seq(3, by=4, len=6))
bleh <- data.frame(start=seq(1, by=5, len=5), stop=seq(3, by=5, len=5))
желаемый результат:
Согласно дополнить теорию множеств в вики, мой ожидаемый результат следующим образом:
start stop
1 5 7
2 9 11
3 13 15
4 17 19
Как я могу получить соответствующий набор комплемента одного данных .Разработать другому? Каков правильный путь к достижению этой задачи? Благодаря
является то, что можно улучшить немного больше? Я имею в виду упорядочить их (соответственно как строку, так и ее индекс). Thx – datageek
Я также пробовал вот так: base :: setdiff (foo, bleh), но это не соответствовало моему ожидаемому результату. Получили ли вы свой результат, если вы использовали setdiff? Странно, почему я получаю разные результаты? – datageek
Нет, эта функция setdiff также из dplyr, и это лучший способ пойти, чем anti_join, на мой взгляд, поскольку он рассматривает каждую таблицу как набор (игнорирует строки dupe). – Frank