2016-08-18 1 views
14

Возможно ли запустить код R и Python в том же ноутбуке Jupyter. Каковы все альтернативы?R и Python в одном ноутбуке Jupyter

  1. Установите r-essentials и создайте R-ноутбуки в Jupyter.
  2. Установите rpy2 и используйте функции rmagic.
  3. Используйте записную книжку.

Какое из вышеуказанных 3 вариантов является надежным для запуска фрагментов кода Python и R (обмена переменными и визуализаций) или есть лучший вариант?

ответ

5

Вам будет сложно использовать как синтаксис R, так и Python в одном и том же ноутбуке, главным образом потому, что базовое представление объектов на двух языках отличается. Тем не менее, есть проект, который действительно пытается разрешить преобразование объектов и на разных языках в одной и той же записной книжке: http://beakernotebook.com/features

Я не использовал его сам, но это выглядит многообещающе

12

Да, это возможно! Используйте rpy2.

Вы можете установить rpy2 с: pip install rpy2

%load_ext rpy2.ipython Затем запустите в одном из ваших клеток. (Вам нужно только запустить один раз.)

Теперь вы можете сделать следующее:

Python клетки:

# enables the %%R magic, not necessary if you've already done this 
%load_ext rpy2.ipython 

import pandas as pd 
df = pd.DataFrame({ 
    'cups_of_coffee': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 
    'productivity': [2, 5, 6, 8, 9, 8, 0, 1, 0, -1] 
}) 

R клетки:

# import df from global environment 
# make default figure size 5 by 5 inches with 200 dpi resolution 
%%R -i df -w 5 -h 5 --units in -r 200 
install.packages("ggplot2", repos='http://cran.us.r-project.org', quiet=TRUE) 
library(ggplot2) 
ggplot(df, aes(x=cups_of_coffee, y=productivity)) + geom_line() 

И вы будете получите данные о фигурном графике с помощью python Pandas DataFrame.

-1

Я бы не рекомендовал использовать два языка в одном ноутбуке. Вместо этого вы можете упорядочить код R и Python на уровне проекта, подключив их к базе данных ввода \ вывода. Инструменты данных, такие как DVC, могут помочь вам в этом.

Вы можете найти некоторые примеры кода в этом блоге: Best practices of orchestrating Python and R code in ML projects

+0

Это как не-ответ, и вы просто поддерживаете проекты, над которыми вы работаете. см. ссылку git repo, которую вы связываете. По крайней мере, объясните, почему ваше заявление «вместо» стоит того. – mnky9800n

2

Использование @ ответ Uut для запуска R в jupyter ноутбук в питона ядра (в MacOS), следующие работал для меня.

%%R всегда должен быть в начале ячейки иначе вы получите сообщение об ошибке, как показано на рисунке ниже syntax error if %%R not at the top of the cell

Ниже правильный путь: Right way to invoke R within python kernel

Также %load_ext rpy2.ipython должны прийти до %%R, следовательно, ставить это в другой ячейке над ней, как показано на рисунках.

 Смежные вопросы

  • Нет связанных вопросов^_^