如何将Rmd文档转换为Jupyter笔记本

时间:2019-09-03 18:29:30

标签: jupyter-notebook r-markdown knitr

我想将rmarkdown .Rmd文档转换为Jupyter笔记本.ipynb。 我发现按照reference page中的描述,从jupyter转换为rmd很容易,但是由于某种原因(...)Rstudio团队没有采取其他方法。

例如,我想转换

---
title: "Untitled"
author: "statquant"
date: "03/09/2019"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

```{r cars}
summary(cars)
```

## Including Plots

You can also embed plots, for example:

```{r pressure, echo=FALSE}
plot(pressure)
```

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.

3 个答案:

答案 0 :(得分:2)

检查后,银色子弹似乎是jupytext 它允许您与mardownrmarkdownpythonipynb,...进行转换。 实际上,这可以使您的工作流程整洁

  1. 编写一个简单的R script.R脚本,将you can spin转换成Rmd文档
  2. 使用knitr::spin('script.R', knit = FALSE)将其转换为Rmd
  3. 使用jupytext --to notebook script.Rmd创建script.ipynb
  4. 共享或执行笔记本

答案 1 :(得分:1)

sos-rmarkdown为Jupyter笔记本转换器提供了另一个Rmarkdown。独特的功能包括它支持使用markdown-kernel的内联表达式,在一个笔记本中使用多个内核(使用SoS kernel)来容纳多种语言的代码块,以及使用{{执行生成的笔记本的能力。 3}}。它还使用单元元数据来控制Jupyter Lab中代码块的输入和输出以及导出的HTML报告的显示。

要使用此工具,可以从sos-rmarkdownpip安装conda-forge,然后使用命令运行转换器

sos convert input.Rmd output.ipynb

或使用选项--execute执行转换后的笔记本

sos convert input.Rmd output.ipynb --execute

免责声明:我是sos-rmarkdown的作者。

答案 2 :(得分:0)

这是另一种方式。

此处描述了详细答案(将.rmd转换为.ipynb):https://gist.github.com/ramnathv/10012123

TL; DR

通过notedown命令使用第三方Python软件包sed,如下所示:

1)安装第3方python软件包,该软件包可为我们进行转换

$ pip install notedown

2)使用安装的软件包将* .Rmd文件(或* .md)转换为* .ipynb,然后运行终端命令:

$ notedown example.Rmd | sed '/%%r/d' > example.ipynb