2016-08-18 18 views
14

Czy można uruchomić kod R i Python w tym samym notesie Juwatera. Jakie są dostępne alternatywy?R i Python w jednym notebooku Jupyter

  1. Zainstaluj r-essentials i utwórz notatniki R w Jupyter.
  2. Zainstaluj rpy2 i użyj funkcji rmagic.
  3. Użyj notesu z zlewkami.

Które z powyższych 3 opcji pozwala na uruchamianie fragmentów kodu Pythona i R (dzielenie zmiennych i wizualizacji) lub czy istnieje już lepsza opcja?

Odpowiedz

5

Trudno będzie Ci użyć zarówno składni R jak i Pythona w tym samym notatniku, głównie dlatego, że podstawowa reprezentacja obiektów w dwóch językach jest różna. Powiedział, że jest to projekt, który nie próbuje umożliwić przekształcenie obiektów i różnych językach w tym samym notebooku: http://beakernotebook.com/features

Nie on stosowany sam, ale wygląda obiecująco

12

Tak, to jest możliwe! Użyj programu rpy2.

Można zainstalować rpy2 z: pip install rpy2

Następnie uruchom %load_ext rpy2.ipython w jednej z komórek. (Trzeba tylko uruchomić ten jeden raz).

Teraz można wykonać następujące czynności: komórkę

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] 
}) 

komórka 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() 

i będziesz uzyskać ładny rysunek danych z Pythas Pandas DataFrame.

-1

Nie polecam używania dwóch języków w jednym notatniku. Zamiast tego można sterować kodem R i Python na poziomie projektu, łącząc je z bazą plików input \ output. Narzędzia do nauki danych, takie jak DVC, mogą Ci w tym pomóc.

Można znaleźć przykłady kodu w tym blogu: Best practices of orchestrating Python and R code in ML projects

+0

Jest to brak odpowiedzi, a Ty po prostu wspierasz projekty, nad którymi pracujesz. zobacz link do repozytorium git. Najprościej wyjaśnij, dlaczego warto podążać za stwierdzeniem "za". – mnky9800n

2

Korzystanie @ odpowiedź UUT za prowadzenie badań w notatniku jupyter obrębie jądra Pythona (MacOS), następujące pracował dla mnie.

%%R powinien być zawsze na początku komórki indziej dostaniesz błąd, jak pokazano na rysunku poniżej syntax error if %%R not at the top of the cell

Poniżej właściwy sposób: Right way to invoke R within python kernel

także %load_ext rpy2.ipython powinny pochodzić przed %%R stąd umieścić w innej komórce powyżej, jak pokazano na rysunkach.

Powiązane problemy