2017-09-29 3 views
1

Je suis nouveau sur le portable de Jupyter et j'essaye d'en créer un avec Python et R, en utilisant rpy2. J'ai la ligne%% La balise magique de cellule ne fonctionne pas dans le cahier de Jupyter?

%%R -i df 

qui me donne la SyntaxError d'erreur: syntaxe non valide

Cependant quand je viens d'utiliser un%, comme

%R require(ggplot2) 

cela fonctionne très bien. Comment puis-je résoudre ce problème? J'utilise Python 2.7.

+0

préfixe '% de' est une magie de ligne, alors que 'préfixe %%' est pour une cellule magique –

+0

Savez-vous pourquoi le préfixe magique cellulaire donne une erreur de syntaxe et le préfixe magique de ligne ne fonctionne pas? J'ai rpy2.ipython chargé. –

+0

oui, une magie de cellule doit être la seule instruction sur cette ligne, et le corps de la cellule ne doit pas être vide. (voir la réponse ci-dessous) –

Répondre

0

% le préfixe est pour une magie de ligne, alors que le préfixe %% est pour une magie de cellule.

%%R # <-- must be the only instruction on this line 
{body of cell in R code} 

alors:

%R {one line of R code} 

Je n'ai pas R installé, mais je pense que vous avez peut-être voulu appeler une commande bash sur R; dans ce cas, utilisez ! pour appeler la commande:

!R -i df 

par exemple, si je tape !python -i, j'obtenir des informations sur mon environnement python actuel:

Python 3.6.2 |Anaconda custom (x86_64)| (default, Jul 20 2017, 13:14:59) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 
+1

Merci, cela a fonctionné. –

+0

Super, je suis content que je puisse être utile. –

1

C'est une vieille question, mais je courir dans le même problème aujourd'hui. La réponse de Reblochon Masque ne s'applique plus aujourd'hui. %%R -i df au milieu d'une cellule jette invalid syntax. Également !R -i df jette WARNING: unknown option '-i' ARGUMENT 'df' __ignored__.

Voici ce que je dois faire à la cellule magique R pour travailler:

  1. suivre this instruction installer R paquets RJSONIO et httr (nom du package est en effet minuscule) et Python package rpy2. Aucune autre configuration n'est nécessaire.

  2. mettez simplement une ligne %load_ext rpy2.ipython dans une cellule pour appeler rpy2.

  3. %%R doit être au tout début d'une cellule, donc je mets cette ligne dans la cellule suivante.

  4. le corps de la cellule ne peut pas être vide après %%R.

  5. %%R -i df fonctionne comme prévu.

+0

Pourriez-vous utiliser un exemple pour illustrer votre propos? – Vin