【问题标题】:%% Cell magic tag not working in Jupyter notebook?%% Cell 魔术标签在 Jupyter 笔记本中不起作用?
【发布时间】:2017-09-29 14:23:49
【问题描述】:

我是 Jupyter 笔记本的新手,我正在尝试使用 rpy2 使用 Python 和 R 进行设置。我有电话

%%R -i df

这给了我错误 SyntaxError: invalid syntax

但是当我只使用 1% 时,比如

%R require(ggplot2)

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

【问题讨论】:

  • % 前缀用于线条魔法,而%% 前缀用于细胞魔法
  • 你知道为什么单元格魔术前缀会出现语法错误而行魔术前缀不会吗?我已经加载了 rpy2.ipython。
  • 是的,单元格魔法必须是该行中唯一的指令,单元格主体不能为空。 (见下面的答案)

标签: python r jupyter-notebook jupyter


【解决方案1】:

% 前缀用于线魔法,而%% 前缀用于细胞魔法。

%%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.
>>> 

【讨论】:

  • 太好了,很高兴我能帮上忙。
  • 非常重要的信息,%%sql 之前的注释行会出错
【解决方案2】:

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

这是我需要做的才能让细胞魔法R 工作:

  1. 按照this instruction安装RRJSONIOhttr(包名确实是小写)和Pythonrpy2。无需进一步配置。

  2. 只需在单元格中输入一行%load_ext rpy2.ipython 即可调用rpy2

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

  4. %%R之后的单元格正文不能为空。

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

【讨论】:

    猜你喜欢
    • 2019-03-23
    • 2017-05-23
    • 2019-04-21
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多