python - Jupyter + rpy2 输出到命令提示符而不是笔记本单元格

标签 python r jupyter jupyter-notebook rpy2

问题描述

每当在 Jupyter 笔记本中加载 rpy2 时,使用 %%R 单元魔术执行的 R 代码都会在命令提示符而不是笔记本单元中打印。不过,绘图会在笔记本中正确显示。

enter image description here

我还注意到 %R 内联魔法正常工作,代码按预期打印在单元格中。

安装步骤

  1. Python 2.7.11::Anaconda 2.5.0(64 位)
  2. 笔记本4.1.0通过pip安装
  3. R 3.3.1 (x64) 位于程序文件中
  4. rpy2-2.7.8-cp27-none-win_amd64.whl通过 pip 安装
  5. 路径:
    • R_USER = C:\Users\myusername
    • R_HOME = C:\Program Files\R\R-3.3.1
    • 添加了 C:\Program Files\R\R-3.3.1\bin\i386

最佳答案

您可以使用 RWinOut木星扩展。以下安装说明摘自 GitHub 页面:

您可以从 Jupyter 笔记本单元运行以下 curl 命令,将文件下载到您的工作目录。您也可以手动下载并自己放置。

!curl -O "https://raw.githubusercontent.com/vitorcurtis/RWinOut/master/RWinOut.py"

一旦它进入您的工作目录,您可以将脚本顶部的 %load_ext rpy2.ipython 替换为 %load_ext RWinOut。然后您应该能够正常看到包含 %%R 魔法的单元格的输出。

这不是一个完整的解决方案,但它是一种可以达到相同效果的解决方法。我不确定这是否会破坏某些功能,但它对我来说似乎工作正常。

测试:

  • Windows 10 v.1809 内部版本 17763.503
  • python 3.7.2
  • R 3.6.0
  • rpy2 2.9.5

另一种选择是使用 Windows Subsystem for Linux并从那里启动你的 Jupyter notebook。如果您必须将大量 R 和 Python 包重新安装到不同的环境中,这可能是不可取的,但可以做到这一点,因此输出将正确打印,而不需要这种棘手的解决方法。

关于python - Jupyter + rpy2 输出到命令提示符而不是笔记本单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38438931/

相关文章:

python - 按特定值填充 Pandas Dataframe 缺失值

r - 我的数据集由许多行组成,但只有一列想要将一列中的值分隔到不同的列中

python-3.x - 检查进程是否卡在 Jupyter iPython 笔记本中

r - 简单的 R 任务 : divide specified columns by 1000 at specified rows

python - 在 ipython 中没有这样的通信目标注册错误

python - 如何修复 .ipynb 文件?

python - 在 Python 中使用整数除法

python - 如何在执行过程中不提供输入的情况下运行 aws-nuke?

python - 没有这样的文件或目录错误(python)

r - 在离散的 x 轴上绘制 geom_vline