%% Cell magic标签在Jupyter笔记本中不起作用?

时间:2017-09-29 14:23:49

标签: python r jupyter-notebook

我是Jupyter笔记本电脑的新手,我正试图使用​​rpy2设置Python和R。我有一行

%%R -i df

它给出了错误SyntaxError:invalid syntax

然而,当我只使用一个%时,例如

%R require(ggplot2)

这很好用。我该如何解决这个问题?我使用的是Python 2.7。

2 个答案:

答案 0 :(得分:3)

%前缀用于行魔术,而%%前缀用于单元魔术。

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

然而:

%R {one line of R code}

我没有安装R,但我想你可能想在R上调用bash命令;在这种情况下,使用!来调用命令:

!R -i df

例如,如果我输入!python -i,我会获得有关当前python环境的信息:

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 :(得分:2)

这是一个老问题,但我今天遇到了同样的问题。 Reblochon Masque的答案不再适用于今天。在单元格中间%%R -i df抛出invalid syntax。另外!R -i df会抛出WARNING: unknown option '-i' ARGUMENT 'df' __ignored__

以下是我需要对细胞魔法R进行操作的方法:

  1. 按照this instruction安装R个软件包RJSONIOhttr(软件包名称确实是小写)和Python软件包rpy2 。无需进一步配置。

  2. 在单元格中只放置一行%load_ext rpy2.ipython以调用rpy2

  3. %%R必须位于单元格的最开头,所以我将这一行放在下一个单元格中。

  4. %%R之后,单元格的主体不能为空。

  5. %%R -i df按预期工作。