2017-09-16 6 views
1

J'essaie d'exécuter un tutoriel pour prophète, qui utilise la magie R dans un cahier Jupyter. Le code suivant:l'installation d'une bibliothèque R pour travailler avec la magie R dans un cahier Jupyter anaconda

%%R 
library(prophet) 
df <- read.csv('../examples/example_wp_peyton_manning.csv') 
df$y <- log(df$y) 
m <- prophet(df) 
future <- make_future_dataframe(m, periods=366) 

Retours ceci:

Error in library(prophet) : there is no package called ‘prophet’ 

Puis, dans mon carnet ipython je cours ceci:

from rpy2.robjects.packages import importr 
utils = importr('utils') 
utils.install_packages('prophet') 

qui renvoie ceci:

--- Please select a CRAN mirror for use in this session --- 
Secure CRAN mirrors 

1: 0-Cloud [https]     2: Australia (Canberra) [https] 
3: Australia (Melbourne) [https] 4: Australia (Perth) [https]  
5: Austria [https]     6: Belgium (Ghent) [https]  
7: Brazil (RJ) [https]    8: Brazil (SP 1) [https]   
9: Bulgaria [https]    10: Chile 1 [https]    
11: China (Lanzhou) [https]  12: Colombia (Cali) [https]  
13: Czech Republic [https]   14: Denmark [https]    
15: France (Lyon 1) [https]  16: France (Lyon 2) [https]  
17: France (Marseille) [https]  18: France (Montpellier) [https] 
19: France (Paris 2) [https]  20: Germany (Münster) [https]  
21: Iceland [https]    22: Indonesia (Jakarta) [https] 
23: Ireland [https]    24: Italy (Padua) [https]   
25: Japan (Tokyo) [https]   26: Malaysia [https]    
27: Mexico (Mexico City) [https] 28: Norway [https]    
29: Philippines [https]   30: Russia (Moscow) [https]  
31: Spain (A Coruña) [https]  32: Spain (Madrid) [https]  
33: Sweden [https]     34: Switzerland [https]   
35: UK (Bristol) [https]   36: UK (Cambridge) [https]  
37: UK (London 1) [https]   38: USA (CA 1) [https]   
39: USA (KS) [https]    40: USA (MI 1) [https]   
41: USA (TN) [https]    42: USA (TX 1) [https]   
43: USA (TX 2) [https]    44: (other mirrors)   

Une boîte de saisie apparaît et toute sélection que je fais mène à ceci:

rpy2.rinterface.NULL 

J'ai RStudio, et le prophète est sans problème dans R Studio. Cela me dit que j'ai un autre noyau R fonctionnant quelque part, lié à l'environnement dans Anaconda, ou une autre erreur de configuration.

Y at-il un moyen de résoudre ce problème afin que je puisse exécuter R avec le noyau que j'ai dans R Studio ou forcer le noyau R actuel pour installer prophet? Comment puis-je connaître l'emplacement du noyau R utilisé par R magic dans ce bloc-notes Jupyter? J'utilise un mac, et j'ai peut-être des fichiers réticulés, etc. (Mon bloc-notes Jupyter montre 6 noyaux, quand j'en ai vraiment 3..Il répète ce que j'ai deux fois).

Merci

+0

Veuillez ne pas utiliser la balise [prophet] sauf si vous utilisez le logiciel [Prophet] (http://www.prophet-web.com/). – YowE3K

Répondre

1

Vous avez probablement 2 version de R. Lorsque vous installez le noyau R de Anaconda, il installe sa propre version, peu importe ce que vous avez dans à rstudio. C'est ce que tu devrais faire. À partir d'un ordinateur portable Jupyter, exécutez la commande suivante dans une cellule:

%load_ext rpy2.ipython 

Puis

%%R 
.libPaths() 

Il devrait retourner quelque chose comme ceci:

[1] "/Users/user/anaconda/lib/R/library" 

Allez maintenant à rstudio et exécuter la même ligne :

.libPaths() 

Il pr retourne obably quelque chose comme ceci:

[1] "/Users/user/Library/R/3.2/library"      
[2] "/Library/Frameworks/R.framework/Versions/3.2/Resources/library" 

Dans cet exemple, vous pouvez voir que l'un R est dans anaconda, et l'autre est un stand alone R.Celui de votre RStudio, celui où vous avez correctement chargé Prophet est le seul. La meilleure solution est que RStudio utilise la même version que Conda. Pour ce faire, il existe plusieurs façons de basculer entre les deux versions, mais la meilleure consiste à utiliser un utilitaire simple appelé Rswitch que vous pouvez télécharger à partir de here. RSwitch détecte toutes les versions de R que vous avez dans votre ordinateur, et permet à votre RStudio de basculer entre les différentes versions de R que vous avez.

enter image description here

Encore une fois, je vous conseille de passer à la version de R que Conda utilise, et de rstudio, installez vos paquets pour éviter de le faire à partir d'un ordinateur portable Jupyter, qui peut montrer des erreurs telles que le

rpy2.rinterface.NULL

que vous avez indiquée. J'espère que cela fonctionne.

0

Beaucoup de questions dans la question. Répondre à l'un d'entre eux:

Comment connaître l'emplacement du noyau R utilisé par R magic dans ce bloc-notes Jupyter?

En Jupyter, faites:

%run -m rpy2.situation 
+0

Merci. Ces commandes ne retourne rien. –

+0

Ensuite, il peut y avoir des problèmes généraux avec votre environnement python ou l'installation de jupyter si rien n'est imprimé. Cette commande utilise "print()" https://bitbucket.org/rpy2/rpy2/src/46f9092c262ab98a4ff5250d95cec84ace0782b2/rpy/situation.py?at=default#situation.py-110 – lgautier