【问题标题】:ggplot function not found in jupyter notebook with rpy2在带有 rpy2 的 jupyter 笔记本中找不到 ggplot 函数
【发布时间】:2018-11-13 06:07:01
【问题描述】:

我正在研究计算机集群并测试如何在其上使用 Jupyter 笔记本。我在尝试使用 ggplot2 时遇到了这个问题。我已经尝试在笔记本中安装包,在命令行中使用 R,并使用 conda install,并且 r-ggplot2(版本 2.2.1)显示在 conda 包中。有什么想法吗?

【问题讨论】:

  • 我在上传的图片中看不到错误。问题出在哪里?
  • 刚刚更新了错误的图像。找不到ggplot函数
  • 欢迎来到SO,请拨打tour!请将您的 MWE 和错误消息以文本形式显示,不要不要链接屏幕截图。

标签: r ggplot2 jupyter-notebook cluster-computing rpy2


【解决方案1】:

从您的屏幕截图来看,您正在运行一个基于 python 的笔记本。看起来好像您正在尝试将ggplot 用作python 包rpy2 的一部分。

基于this sourceggplot 存在于rpy2.robjects.lib.ggplot2,因此您可能想尝试类似的方法

from rpy2.robjects.lib.ggplot2 import ggplot

...
ggplot(data=df)

【讨论】:

  • 我收到了这个错误:~/.conda/envs/general/lib/python3.6/site-packages/rpy2/robjects/lib/ggplot2.py in () 53 NULL = robjects.NULL 54 ---> 55 ggplot2 = importr('ggplot2', on_conflict="warn") 56 ggplot2 = WeakPackage(ggplot2._env, 57 ggplot2.__rname__,
  • ~/.conda/envs/general/lib/python3.6/site-packages/rpy2/robjects/packages.py in importr(name, lib_loc, robject_translations, signature_translation, suppress_messages, on_conflict, symbol_r2python , symbol_check_after, data) 451 if _package_has_namespace(rname, 452 _system_file(package = rname)): --> 453 env = _get_namespace(rname) 454 version = _get_namespace_version(rname)[0] 455 exports_names = set(_get_namespace_exports(rname)) RRuntimeError:loadNamespace(名称)中的错误:没有名为“ggplot2”的包
  • 我真的不是 rpy2 方面的专家。在 Jupyter 笔记本中,您可以使用检查来查找存在哪些包/模块/功能。最简单的方法:在单元格中输入import rpy2.,然后点击TAB。它应该向您展示所有可能的子模块。继续并尝试弄清楚发生了什么。你确定 rpy2 安装正确吗?
  • 是的,已安装 rpy2。折腾了一下,发现需要用conda安装r-ggplot2,终于成功了。感谢您的帮助
  • 正确。您只需在 jupyter 环境中执行 conda install r-ggplot2 即可完成此操作。另一件事是从菜单 Kernel --> Restart and Clear Output 重新启动笔记本的内核,以便您的会话知道更新。只需使用您的 %R require(ggplot2) 并且不要担心 rpy2 库加载,除非您实际上是在使用 python 进行绘图,而上面的问题示例中并非如此。
猜你喜欢
  • 2020-10-30
  • 2019-03-23
  • 2017-12-21
  • 1970-01-01
  • 2020-04-07
  • 1970-01-01
  • 2019-09-16
  • 2020-10-12
  • 2020-03-11
相关资源
最近更新 更多