Как сделать пересечение, объединение и т. Д. На упорядоченных парах? - PullRequest
1 голос
/ 15 марта 2012

Существует ли набор функций R, аналогичных intersect, union и т. Д., Которые действуют на векторы координат? Возьмите две совокупности местоположений в N измерениях, каждое из которых можно рассматривать как N-строку в массиве M-location, и найти общие местоположения (то есть столбцы) и т. Д. Я полагаю, что это можно сделать с помощью пары *apply строк, чтобы сравнить каждый столбец в одном массиве со столбцами другого, но надеялся на что-то более быстрое или аккуратное.

1 Ответ

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

Существует пакет 'sets', но простейшим решением было бы использование операций базового набора: union,, intersect и setdiff для результатов paste с разделителем, таким как "_".Если они представлены в виде «числовых» значений, вам может потребоваться определить, что на самом деле означает «равенство», и для этого может потребоваться какой-либо round -кат или trunc -катион.эта реализация может быть более самодокументированной в столбцовом расположении, которое вы описываете для использования функции "plyr": colwise. Я не являюсь специальным пользователем методов plyr, но, похоже, это то, с чего можно начать:

colpastefn <- colwise( function(...){paste(... , sep="_") )

Хотя в описании функции предполагается, что она должна работать как отдельная функция на фрейме данных, все показанные варианты использования ddply.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...