2016-07-29 31 views
2

Ich erstelle einen Bericht mit Jupyter. Der meiste Code ist in Python, aber ich brauche einige R-Funktionen.Python und R: Wie zeigst du eine Handlung mit Pyper in einem Jupyter-Notizbuch?

Ich benutze ein Paket namens Pyper, um R in Python aufzurufen. Es funktioniert gut, aber ich konnte nicht herausfinden, wie man eine Handlung in R (via Pyper) im Jupiter-Notizbuch darstellt. Alles scheint gut zu funktionieren, aber Jupyter zeigt die Handlung nicht.

Hier ist mein Testcode:

In [17]: from pyper import * 
     r = R() 
     r("library(TSA)") 
     r("data(star)") 
     r("periodogram(star)") 

Und dies ist die Ausgabe von Jupyter (ohne Periodogramm Plot):

Out[17]: 'try({periodogram(star)})\n' 
+0

'Pyper' und' rpy2' sind völlig unterschiedliche Projekte. Mit letzterer kann das Anzeigen einer Figur in einem Jupiter-Notizbuch so einfach sein wie das Einfügen von R-Code in einen '%% R'-Block. – lgautier

+0

Dank @Igautier, ich verstehe jetzt, dass Pyper (in seiner aktuellen Version) möglicherweise nicht in der Lage ist, ein Plot in Jupyter anzuzeigen, wie rpy2 tut. Nachdem ich verschiedene Lösungen ausprobiert hatte, fand ich einen Workaround, den ich unten gepostet habe. – mmeclimate

Antwort

1

ich eine Abhilfe gefunden, wenn jemand Pyper verwendet, und will fügen Sie eine Zeichnung zu Jupyter hinzu:

from pyper import * 
r = R() 
r("library(TSA)") 
r("data(star)") 

# Save the figure 
r("png('rplot.png');periodogram(star);dev.off()") 


# Upload the figure to Jupyter 
from IPython.display import Image 
Image("rplot.png",width=600,height=400)