Как передать большие массивы между numpy и R?

Я использую python и numpy / scipy для выполнения регулярных выражений и создания приложения для обработки текста. Но я хочу использовать некоторые статистические пакеты R.

Каков наилучший способ передать данные из python в R? (И назад?)

Кроме того, мне нужно сделать резервную копию массива на диск в какой-то момент, поэтому я открыт для сохранения с python и загрузки R, если это лучшее решение. Матрицы довольно большие (например, 100 000 x 10 000), поэтому использование разреженных матриц также может быть приятным.

Извините, если это repost. Я не смог найти ничего, что объединило бы все эти штуки.

  • Вы уже изучали RPY ? Это интерфейс python для R. Я предполагаю, что это избавит вас от обработки данных.

  • Чтобы создать резервную копию массивов NumPy, вы можете использовать pickle . Поскольку при сохранении огромных данных создается много накладных расходов, массивы NumPy лучше всего сохраняются с использованием стандарта HDF. Вот статья, в которой говорится: http://www.shocksolution.com/2010/01/10/storing-large-numpy-arrays-on-disk-python-pickle-vs-hdf5adsf/

Используйте Rpy, http://rpy.sourceforge.net/ , чтобы вызвать R из Python.

Предостережение состоит в том, что как версии R, так и Python должны быть точно такими, для которых был создан двоичный файл Rpy. Таким образом, вы должны быть осторожны с установкой.

Я не могу комментировать «большие данные» между общим R и Python, но мне было гораздо легче работать с pyRserve, чем с RPy или RPy2.

Сказано, мне интересно, как вы обрабатываете текст? Python, очевидно, многое может предложить на стороне обработки текста, но статистически слишком много в пакетах, таких как NLTK и пакет Pattern от CLiPS . Вам просто удобнее делать статистику в R, или есть что-то конкретное в Python?