【问题标题】:Integrating objects with IRKernel将对象与 IRKernel 集成
【发布时间】:2017-04-19 20:39:13
【问题描述】:

类似于您如何为 Python 中的对象编写 _repr_html_ 以进行 repr,我希望能够在 R 中装饰对象以使用 IRKernel 进行检查(同时不干扰库的常规 R 使用) .我应该如何编写 R 以使其对 Jupyter 用户更好?

【问题讨论】:

  • 对于data.frame,您可能需要考虑使用print(xtable::xtable(data.frame(A=1:2, B=3:4)), "html")
  • @chinsoon12 - 我正在寻找从 Sparklyr 或 SparkR 创建 SparkContext 的表示,以及知道如何建议其他人提供自定义输出

标签: r jupyter jupyter-irkernel


【解决方案1】:

R 中的主要类是S3 classes,这些是 IRKernel 的 repr 库所知道的。

S3 类上的方法更像是泛型函数。 repr 声明了许多通用函数,例如repr_html。如果您定义了一个名为frob 的类,您可以提供一个名为repr_html.frob 的函数,该函数返回HTML 来表示您的对象。据我所知,方法查找的所有魔力都基于名称,因此您可以像往常一样定义 repr_html.frob 函数 - 它位于哪个包中并不重要,只要用户在内核尝试显示您的对象。

repr 声明的通用函数是:

  • repr_text
  • repr_html
  • repr_markdown
  • repr_latex
  • repr_json
  • repr_javascript
  • repr_pdf
  • repr_png
  • repr_jpg
  • repr_svg

与在 Python 中一样,您可以根据需要定义尽可能多或尽可能少的这些。有关示例,请参阅the repr code

【讨论】:

  • 您是否有示例笔记本可以为自定义类执行此操作?
  • 我不知道,不。随意在 IRkernel 上为它打开一个问题(或 PR ;-)。
  • 是的,我被卡住了,所以我还不能做 PR。 :)
  • 欢迎您提出问题 - Philipp 可能有更多时间提供示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-30
  • 2015-01-10
  • 2021-11-21
  • 2020-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多