Hello: ????? What are the differences between Jupyter notebooks and RMarkdown vignettes? ????? I'm trying to do real time monitoring of the broadcast quality of a radio station, and it seems to me that it may be easier to do that in Python than in R.[1]? This led me to a recent post to "python-list at python.org" that mentioned "Jupyter, Mathematica, and the Future of the Research Paper"[2] by Paul Romer, who won the 2018 Nobel Memorial Prize in Economics only a few days ago.? In brief, this article suggests that Jupyter notebooks may replace publication in refereed scientific journals as the primary vehicle for sharing scientific research, because they make it so easy for readers to follow both the scientific and computational logic and test their own modifications. ????? A "Jupyter Notebook Tutorial: The Definitive Guide"[3] suggested I first install Anaconda Navigator.? I got version 1.9.2 of that.? It opens with options for eight different "applications" including JupyterLab 0.34.9, Jupyter Notebook 5.6.0, Spyder 3.3.1 (an IDE for Python), and RStudio 1.1.456. ????? This leads to several questions: ??? ??????? 1.? In general, what experiences have people had with Jupyter Notebooks, Anaconda Navigator, and RMarkdown vignettes in RStudio, and the similarities and differences?? Do you know any references that discuss this? ??? ??????? 2.? More specifically, does it make sense to try to use RStudio from within Anaconda Navigator, or is one better off using RStudio as a separate, stand alone application -- or should one even abandon RStudio and run R instead from within a Jupyter Notebook? [I'm new to this topic, so it's possible that this question doesn't even make sense.] ????? Thanks, ????? Spencer Graves [1] If you have ideas for how best to do real time monitoring of broadcast quality of a radio station, I'd love to hear them.? I need software that will do that, preferably something that's free, open source.? The commercial software I've seen for this is not adequate for my purposes, so I'm trying to write my own.? I have a sample script in Python that will read a live stream from a radio tuner and output a *.wav of whatever length I want, and I wrote Python eight years ago for a similar real time application.? I'd prefer to use R, but I don't know how to get started. [2] 2018-04-13: "https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper". This further cites a similar article in The Atlantic from 2018-04-05: "www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676".
Hi Spencer, On Thu, Oct 11, 2018 at 5:08 AM Spencer Graves <spencer.graves at effectivedefense.org> wrote:> > Hello: > > > What are the differences between Jupyter notebooks and RMarkdown > vignettes?Here are some of the main differences I'm aware of: Rmarkdown files include code and prose. The results produced by the code do not appear in the Rmarkdown file; instead, the file must be processed and typeset to produce a .pdf or .html (etc.) file that includes those results. Jupyter notebooks dispense with with processing step: output is displayed directly in the notebook. That is, a notebook includes code, prose, and results, while an Rmarkdown file includes only code and prose. Rmarkdown allows control over the inclusion of code and results, and over how the results are displayed via header arguments. There is no such thing in Jupyter notebooks. Controlling the precise appearance of a document produced by Jupyter is much more difficult. Going farther, one can even say that Jupyter notebooks are designed primarily to be read as Jupyter notebooks; exporting to other formats is kind of an afterthought. In contrast, Rmarkdown is designed to produce the final readable result in another format (.html or .pdf typically). Rmarkdown is based on markdown, a human readable markup language, Jupyter notebooks are based on JSON, a data interchange format common on the web. This means that Rmarkdown files can be easily edited using any text editor you like. The same is not true of Jupyter notebooks. While you can of course edit the JSON directly, the format is designed to be written and read by a computer; editing it yourself is not easy. Rmarkdown is specific to R (I guess there is some basic support in knitr for other languages, but in my experience it never worked well) while Jupyter notebooks are language agnostic and "kernels" exist for a large number of programming languages. However, each Jupyter notebook can use only one kernel; you can't easily have R and Python code in the same notebook. Jupyter notebooks typically run in your browser where the actual text editing features are somewhat limited. Rmarkdown is typically run in an editor such as Emacs or Rstudio where editing and project support is much better and greater customization may be possible. You can work indirectly with Jupyter notebooks in Emacs (https://github.com/millejoh/emacs-ipython-notebook) and perhaps other editors as well; this goes some way toward escaping the tyranny of the browser but is more fragile and difficult to get working compared to Rmarkdown. Because Jupyter uses a web-based client-server model, it is easy to provide live interactive notebooks on your website (see e.g., https://github.com/jupyterhub/binderhub). As far as I know this is not currently possible with Rmarkdown.> > > I'm trying to do real time monitoring of the broadcast quality of > a radio station, and it seems to me that it may be easier to do that in > Python than in R.[1] This led me to a recent post to > "python-list at python.org" that mentioned "Jupyter, Mathematica, and the > Future of the Research Paper"[2] by Paul Romer, who won the 2018 Nobel > Memorial Prize in Economics only a few days ago. In brief, this article > suggests that Jupyter notebooks may replace publication in refereed > scientific journals as the primary vehicle for sharing scientific > research, because they make it so easy for readers to follow both the > scientific and computational logic and test their own modifications. > > > A "Jupyter Notebook Tutorial: The Definitive Guide"[3] suggested > I first install Anaconda Navigator. I got version 1.9.2 of that. It > opens with options for eight different "applications" including > JupyterLab 0.34.9, Jupyter Notebook 5.6.0, Spyder 3.3.1 (an IDE for > Python), and RStudio 1.1.456. > > > This leads to several questions: > > > 1. In general, what experiences have people had with > Jupyter Notebooks, Anaconda Navigator, and RMarkdown vignettes in > RStudio, and the similarities and differences? Do you know any > references that discuss this?I've used both extensively, and noted the differences I've discovered above.> > > 2. More specifically, does it make sense to try to use > RStudio from within Anaconda Navigator, or is one better off using > RStudio as a separate, stand alone application -- or should one even > abandon RStudio and run R instead from within a Jupyter Notebook? [I'm > new to this topic, so it's possible that this question doesn't even make > sense.]The only advantage I can think of to using Rstudio via Anaconda is that you could use conda environments to maintain different versions or R and/or R packages for different projects. You'll have to weigh the pros and cons to decide whether to switch from Rstudio to Jupyter notebooks. Depending on what you want to do there are both advantages and disadvantages, as discussed above. Finally, I have to give a plug for a couple of related tools that I find very useful. Emacs org-mode https://orgmode.org/ gives you the best of both worlds: notebooks unconstrained by the browser that can include code in multiple languages, header arguments, excellent export support, etc. It is superior to both Jupyter and Rmarkdown, except that support only exists in Emacs. Jupytext (https://github.com/mwouts/jupytext) is another way to have it all, by allowing you to edit in markdown or Rmarkdown, and auto-generating a notebook and possibly other formats for you. I've only recently started experimenting with it, but so far I like it a lot. Best, Ista> > > Thanks, > Spencer Graves > > > [1] If you have ideas for how best to do real time monitoring of > broadcast quality of a radio station, I'd love to hear them. I need > software that will do that, preferably something that's free, open > source. The commercial software I've seen for this is not adequate for > my purposes, so I'm trying to write my own. I have a sample script in > Python that will read a live stream from a radio tuner and output a > *.wav of whatever length I want, and I wrote Python eight years ago for > a similar real time application. I'd prefer to use R, but I don't know > how to get started. > > > [2] 2018-04-13: > "https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper". > This further cites a similar article in The Atlantic from 2018-04-05: > "www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676". > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
On 11/10/2018 7:18 AM, Ista Zahn wrote:> Hi Spencer, > > On Thu, Oct 11, 2018 at 5:08 AM Spencer Graves > <spencer.graves at effectivedefense.org> wrote: >> >> Hello: >> >> >> What are the differences between Jupyter notebooks and RMarkdown >> vignettes? > > Here are some of the main differences I'm aware of: > > Rmarkdown files include code and prose. The results produced by the > code do not appear in the Rmarkdown file; instead, the file must be > processed and typeset to produce a .pdf or .html (etc.) file that > includes those results. Jupyter notebooks dispense with with > processing step: output is displayed directly in the notebook. That > is, a notebook includes code, prose, and results, while an Rmarkdown > file includes only code and prose.RStudio can display the output mixed in with the text in the editor.> > Rmarkdown allows control over the inclusion of code and results, and > over how the results are displayed via header arguments. There is no > such thing in Jupyter notebooks. Controlling the precise appearance of > a document produced by Jupyter is much more difficult. Going farther, > one can even say that Jupyter notebooks are designed primarily to be > read as Jupyter notebooks; exporting to other formats is kind of an > afterthought. In contrast, Rmarkdown is designed to produce the final > readable result in another format (.html or .pdf typically). > > Rmarkdown is based on markdown, a human readable markup language, > Jupyter notebooks are based on JSON, a data interchange format common > on the web. This means that Rmarkdown files can be easily edited using > any text editor you like. The same is not true of Jupyter notebooks. > While you can of course edit the JSON directly, the format is designed > to be written and read by a computer; editing it yourself is not easy. > > Rmarkdown is specific to R (I guess there is some basic support in > knitr for other languages, but in my experience it never worked well) > while Jupyter notebooks are language agnostic and "kernels" exist for > a large number of programming languages. However, each Jupyter > notebook can use only one kernel; you can't easily have R and Python > code in the same notebook. > > Jupyter notebooks typically run in your browser where the actual text > editing features are somewhat limited. Rmarkdown is typically run in > an editor such as Emacs or Rstudio where editing and project support > is much better and greater customization may be possible. You can work > indirectly with Jupyter notebooks in Emacs > (https://github.com/millejoh/emacs-ipython-notebook) and perhaps other > editors as well; this goes some way toward escaping the tyranny of the > browser but is more fragile and difficult to get working compared to > Rmarkdown. > > Because Jupyter uses a web-based client-server model, it is easy to > provide live interactive notebooks on your website (see e.g., > https://github.com/jupyterhub/binderhub). As far as I know this is not > currently possible with Rmarkdown.There are ways to put Shiny apps into Rmarkdown documents; see <https://beta.rstudioconnect.com/content/2671/Combining-Shiny-R-Markdown.html>. Other than my two notes above, your comments about Rmarkdown seem right on the mark. Duncan Murdoch> >> >> >> I'm trying to do real time monitoring of the broadcast quality of >> a radio station, and it seems to me that it may be easier to do that in >> Python than in R.[1] This led me to a recent post to >> "python-list at python.org" that mentioned "Jupyter, Mathematica, and the >> Future of the Research Paper"[2] by Paul Romer, who won the 2018 Nobel >> Memorial Prize in Economics only a few days ago. In brief, this article >> suggests that Jupyter notebooks may replace publication in refereed >> scientific journals as the primary vehicle for sharing scientific >> research, because they make it so easy for readers to follow both the >> scientific and computational logic and test their own modifications. >> >> >> A "Jupyter Notebook Tutorial: The Definitive Guide"[3] suggested >> I first install Anaconda Navigator. I got version 1.9.2 of that. It >> opens with options for eight different "applications" including >> JupyterLab 0.34.9, Jupyter Notebook 5.6.0, Spyder 3.3.1 (an IDE for >> Python), and RStudio 1.1.456. >> >> >> This leads to several questions: >> >> >> 1. In general, what experiences have people had with >> Jupyter Notebooks, Anaconda Navigator, and RMarkdown vignettes in >> RStudio, and the similarities and differences? Do you know any >> references that discuss this? > > I've used both extensively, and noted the differences I've discovered above. > >> >> >> 2. More specifically, does it make sense to try to use >> RStudio from within Anaconda Navigator, or is one better off using >> RStudio as a separate, stand alone application -- or should one even >> abandon RStudio and run R instead from within a Jupyter Notebook? [I'm >> new to this topic, so it's possible that this question doesn't even make >> sense.] > > The only advantage I can think of to using Rstudio via Anaconda is > that you could use conda environments to maintain different versions > or R and/or R packages for different projects. > > You'll have to weigh the pros and cons to decide whether to switch > from Rstudio to Jupyter notebooks. Depending on what you want to do > there are both advantages and disadvantages, as discussed above. > > Finally, I have to give a plug for a couple of related tools that I > find very useful. > > Emacs org-mode https://orgmode.org/ gives you the best of both worlds: > notebooks unconstrained by the browser that can include code in > multiple languages, header arguments, excellent export support, etc. > It is superior to both Jupyter and Rmarkdown, except that support only > exists in Emacs. > > Jupytext (https://github.com/mwouts/jupytext) is another way to have > it all, by allowing you to edit in markdown or Rmarkdown, and > auto-generating a notebook and possibly other formats for you. I've > only recently started experimenting with it, but so far I like it a > lot. > > Best, > Ista >> >> >> Thanks, >> Spencer Graves >> >> >> [1] If you have ideas for how best to do real time monitoring of >> broadcast quality of a radio station, I'd love to hear them. I need >> software that will do that, preferably something that's free, open >> source. The commercial software I've seen for this is not adequate for >> my purposes, so I'm trying to write my own. I have a sample script in >> Python that will read a live stream from a radio tuner and output a >> *.wav of whatever length I want, and I wrote Python eight years ago for >> a similar real time application. I'd prefer to use R, but I don't know >> how to get started. >> >> >> [2] 2018-04-13: >> "https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper". >> This further cites a similar article in The Atlantic from 2018-04-05: >> "www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676". >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >
I'd highly recommend Yihui's extensive write up: https://yihui.name/en/2018/09/notebook-war/ Hadley On Thu, Oct 11, 2018 at 4:08 AM Spencer Graves <spencer.graves at effectivedefense.org> wrote:> > Hello: > > > What are the differences between Jupyter notebooks and RMarkdown > vignettes? > > > I'm trying to do real time monitoring of the broadcast quality of > a radio station, and it seems to me that it may be easier to do that in > Python than in R.[1] This led me to a recent post to > "python-list at python.org" that mentioned "Jupyter, Mathematica, and the > Future of the Research Paper"[2] by Paul Romer, who won the 2018 Nobel > Memorial Prize in Economics only a few days ago. In brief, this article > suggests that Jupyter notebooks may replace publication in refereed > scientific journals as the primary vehicle for sharing scientific > research, because they make it so easy for readers to follow both the > scientific and computational logic and test their own modifications. > > > A "Jupyter Notebook Tutorial: The Definitive Guide"[3] suggested > I first install Anaconda Navigator. I got version 1.9.2 of that. It > opens with options for eight different "applications" including > JupyterLab 0.34.9, Jupyter Notebook 5.6.0, Spyder 3.3.1 (an IDE for > Python), and RStudio 1.1.456. > > > This leads to several questions: > > > 1. In general, what experiences have people had with > Jupyter Notebooks, Anaconda Navigator, and RMarkdown vignettes in > RStudio, and the similarities and differences? Do you know any > references that discuss this? > > > 2. More specifically, does it make sense to try to use > RStudio from within Anaconda Navigator, or is one better off using > RStudio as a separate, stand alone application -- or should one even > abandon RStudio and run R instead from within a Jupyter Notebook? [I'm > new to this topic, so it's possible that this question doesn't even make > sense.] > > > Thanks, > Spencer Graves > > > [1] If you have ideas for how best to do real time monitoring of > broadcast quality of a radio station, I'd love to hear them. I need > software that will do that, preferably something that's free, open > source. The commercial software I've seen for this is not adequate for > my purposes, so I'm trying to write my own. I have a sample script in > Python that will read a live stream from a radio tuner and output a > *.wav of whatever length I want, and I wrote Python eight years ago for > a similar real time application. I'd prefer to use R, but I don't know > how to get started. > > > [2] 2018-04-13: > "https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper". > This further cites a similar article in The Atlantic from 2018-04-05: > "www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676". > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- http://hadley.nz
I just have one comment on the multi-language support in R Markdown (inline below): On Thu, Oct 11, 2018 at 6:19 AM Ista Zahn <istazahn at gmail.com> wrote:> > Hi Spencer, > > On Thu, Oct 11, 2018 at 5:08 AM Spencer Graves > <spencer.graves at effectivedefense.org> wrote: > > > > Hello: > > > > > > What are the differences between Jupyter notebooks and RMarkdown > > vignettes? > > Here are some of the main differences I'm aware of: > > Rmarkdown files include code and prose. The results produced by the > code do not appear in the Rmarkdown file; instead, the file must be > processed and typeset to produce a .pdf or .html (etc.) file that > includes those results. Jupyter notebooks dispense with with > processing step: output is displayed directly in the notebook. That > is, a notebook includes code, prose, and results, while an Rmarkdown > file includes only code and prose. > > Rmarkdown allows control over the inclusion of code and results, and > over how the results are displayed via header arguments. There is no > such thing in Jupyter notebooks. Controlling the precise appearance of > a document produced by Jupyter is much more difficult. Going farther, > one can even say that Jupyter notebooks are designed primarily to be > read as Jupyter notebooks; exporting to other formats is kind of an > afterthought. In contrast, Rmarkdown is designed to produce the final > readable result in another format (.html or .pdf typically). > > Rmarkdown is based on markdown, a human readable markup language, > Jupyter notebooks are based on JSON, a data interchange format common > on the web. This means that Rmarkdown files can be easily edited using > any text editor you like. The same is not true of Jupyter notebooks. > While you can of course edit the JSON directly, the format is designed > to be written and read by a computer; editing it yourself is not easy. > > Rmarkdown is specific to R (I guess there is some basic support in > knitr for other languages, but in my experience it never worked well) > while Jupyter notebooks are language agnostic and "kernels" exist for > a large number of programming languages. However, each Jupyter > notebook can use only one kernel; you can't easily have R and Python > code in the same notebook.You might want to at least update your impression about the Python support in R Markdown now :) Last year, with the release of the reticulate package, the support for Python has been substantially enhanced in both R Markdown (https://bookdown.org/yihui/rmarkdown/language-engines.html) and RStudio (https://blog.rstudio.com/2018/10/09/rstudio-1-2-preview-reticulated-python/). You can easily have both R and Python code in the same R Markdown document, and the two worlds can freely talk to each other.> Jupyter notebooks typically run in your browser where the actual text > editing features are somewhat limited. Rmarkdown is typically run in > an editor such as Emacs or Rstudio where editing and project support > is much better and greater customization may be possible. You can work > indirectly with Jupyter notebooks in Emacs > (https://github.com/millejoh/emacs-ipython-notebook) and perhaps other > editors as well; this goes some way toward escaping the tyranny of the > browser but is more fragile and difficult to get working compared to > Rmarkdown. > > Because Jupyter uses a web-based client-server model, it is easy to > provide live interactive notebooks on your website (see e.g., > https://github.com/jupyterhub/binderhub). As far as I know this is not > currently possible with Rmarkdown. > > > > > > > I'm trying to do real time monitoring of the broadcast quality of > > a radio station, and it seems to me that it may be easier to do that in > > Python than in R.[1] This led me to a recent post to > > "python-list at python.org" that mentioned "Jupyter, Mathematica, and the > > Future of the Research Paper"[2] by Paul Romer, who won the 2018 Nobel > > Memorial Prize in Economics only a few days ago. In brief, this article > > suggests that Jupyter notebooks may replace publication in refereed > > scientific journals as the primary vehicle for sharing scientific > > research, because they make it so easy for readers to follow both the > > scientific and computational logic and test their own modifications. > > > > > > A "Jupyter Notebook Tutorial: The Definitive Guide"[3] suggested > > I first install Anaconda Navigator. I got version 1.9.2 of that. It > > opens with options for eight different "applications" including > > JupyterLab 0.34.9, Jupyter Notebook 5.6.0, Spyder 3.3.1 (an IDE for > > Python), and RStudio 1.1.456. > > > > > > This leads to several questions: > > > > > > 1. In general, what experiences have people had with > > Jupyter Notebooks, Anaconda Navigator, and RMarkdown vignettes in > > RStudio, and the similarities and differences? Do you know any > > references that discuss this? > > I've used both extensively, and noted the differences I've discovered above. > > > > > > > 2. More specifically, does it make sense to try to use > > RStudio from within Anaconda Navigator, or is one better off using > > RStudio as a separate, stand alone application -- or should one even > > abandon RStudio and run R instead from within a Jupyter Notebook? [I'm > > new to this topic, so it's possible that this question doesn't even make > > sense.] > > The only advantage I can think of to using Rstudio via Anaconda is > that you could use conda environments to maintain different versions > or R and/or R packages for different projects. > > You'll have to weigh the pros and cons to decide whether to switch > from Rstudio to Jupyter notebooks. Depending on what you want to do > there are both advantages and disadvantages, as discussed above. > > Finally, I have to give a plug for a couple of related tools that I > find very useful. > > Emacs org-mode https://orgmode.org/ gives you the best of both worlds: > notebooks unconstrained by the browser that can include code in > multiple languages, header arguments, excellent export support, etc. > It is superior to both Jupyter and Rmarkdown, except that support only > exists in Emacs. > > Jupytext (https://github.com/mwouts/jupytext) is another way to have > it all, by allowing you to edit in markdown or Rmarkdown, and > auto-generating a notebook and possibly other formats for you. I've > only recently started experimenting with it, but so far I like it a > lot. > > Best, > Ista > > > > > > Thanks, > > Spencer Graves > > > > > > [1] If you have ideas for how best to do real time monitoring of > > broadcast quality of a radio station, I'd love to hear them. I need > > software that will do that, preferably something that's free, open > > source. The commercial software I've seen for this is not adequate for > > my purposes, so I'm trying to write my own. I have a sample script in > > Python that will read a live stream from a radio tuner and output a > > *.wav of whatever length I want, and I wrote Python eight years ago for > > a similar real time application. I'd prefer to use R, but I don't know > > how to get started. > > > > > > [2] 2018-04-13: > > "https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper". > > This further cites a similar article in The Atlantic from 2018-04-05: > > "www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676".