Ответ 1
Как отметил @lgautier, уже существует другой ответ на эту тему. Я оставляю свой ответ здесь, поскольку он добавляет опыт приближения к R в качестве новичка, сначала зная Python.
Я использую как Python, так и R и сочувствую вам в качестве новичков R.
Поскольку любой ответ, который вы получите, будет субъективным, я суммирую несколько моментов из своего опыта:
- Я использую rpy2 в качестве своего интерфейса и считаю, что он "Pythonic", стабильный, предсказуемый и достаточно эффективный для моих нужд. Я не использовал другие пакеты, поэтому это не комментарий к ним, а скорее по существу самого rpy2.
- НО не ожидайте, что будет простой способ использования R в Python, не изучая оба. Я нахожу, что добавление интерфейса между двумя языками позволяет легко кодировать, когда вы знаете оба, но кошмар отладки для кого-то, кто не работает на одном из языков.
Мой совет:
- Для большинства приложений Python имеет пакеты, которые позволяют выполнять большинство вещей, которые вы хотите сделать в R, от перебора данных до построения графика. Проверьте SciPy, NumPy, pandas, BioPython, matplotlib и другие научные пакеты, или даже полный Anaconda или Enthought дистрибутивы python. Это позволяет вам оставаться в среде Python и предоставляет вам большую часть необходимой вам мощности.
- В то же время вам понадобится R широкий спектр специализированных пакетов, поэтому потратьте некоторое время на изучение его в интерактивной среде. Мне было почти невозможно овладеть базовым R в командной строке, но RStudio и учебники на Quick-R и Learn-R заставил меня идти очень быстро.
Как только вы узнаете обоим, вы будете делать магию с rpy2 без ужасов отладки на разных языках.
Новые ресурсы
Обновление от 29 января 2015 г.
Этот ответ оказался популярным, поэтому я подумал, что было бы полезно указать еще два последних ресурса:
- Ральф Хейнкел дал отличный разговор на эту тему на EuroPython 2014. Видео на Сочетание мощных миров Python и R доступно на Канал YouTube EuroPython. Цитируя его:
Триплет R, Rserve, а pyRserve позволяет создавать сетевой мост от Python до R: теперь R-функции можно вызывать из Python, как если бы они были реализованы на Python, и даже полные R-скрипты могут быть выполнены через это соединение.
- Теперь можно комбинировать R и Python с помощью
rmagic
inIPython/Jupyter
, что значительно облегчает работу по созданию воспроизводимых исследований и ноутбуков, которые объединить оба языка.