R: выбор подмножества без копирования

Есть ли способ выбрать подмножество из объектов (фреймов данных, матриц, векторов) без создания копии выбранных данных?

Я работаю с довольно большими наборами данных, но никогда их не меняю. Однако часто для удобства я выбираю подмножества данных для работы. Создание копии большого подмножества каждый раз очень неэффективно с точки зрения использования памяти, но как обычное индексирование, так и subset (и, следовательно, семейство функций xapply()) создают копии выбранных данных. Поэтому я ищу функции или структуры данных, которые могут решить эту проблему.

Некоторые возможные подходы, которые могут соответствовать моим потребностям и, надеюсь, реализованы в некоторых пакетах R:

  • механизм копирования при записи, т.е. структуры данных, которые копируются только при добавлении или перезаписи существующих элементов;
  • неизменяемые структуры данных, которые требуют воссоздания информации об индексации только для структуры данных, но не ее содержимого (например, создание подстроки из строки путем создания только небольшого объекта, содержащего длину и указатель на тот же массив символов);
  • ]xapply() аналоги, не создающие подмножества.
10
задан ffriend 5 March 2012 в 19:55
поделиться