Ответ 1
Это разные пакеты с разными целями. Один из них не заменяет другого, несмотря на наличие небольшого набора функций, для которого они перекрываются.
Ниже приведен краткий обзор каждого пакета из самих пакетов:
Пакет plyr представляет собой набор чистых и согласованных инструментов, которые реализуют шаблон split-apply-comb в R. Это чрезвычайно распространенная модель анализа данных: вы решаете сложную проблему, разбивая ее на мелкие кусочки, делая что-то для каждой части, а затем снова объединяет результаты.
и
data.table
... предлагает быстрое подмножество, быструю группировку, быстрое обновление, быстрое упорядоченное объединение и список столбцов в коротком и гибком синтаксисе для более быстрой разработки. Он вдохновлен синтаксисом A [B] в R, где A - матрица, а B - матрица с двумя столбцами.
Там, где они перекрываются, находится в "быстрой группировке", которую plyr также делает, разбивая data.frames, работая на куски и рекомбинируя их в единый файл данных. data.table
имеет множество других функций, которые быстро выполняют операции над структурами данных. plyr
имеет функции, которые применяют парадигму split-apply-comb к другим структурам данных, таким как списки и массивы (как входы, так и выходы).
Итак, действительно, это два разных инструмента, которые имеют небольшую область перекрытия, которая адресует один и тот же проблемный домен, но каждый делает гораздо больше, чем это, и если вы хотите/нуждаетесь в дополнительной функциональности, тогда этот пакет должен быть б.