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. >
On Thu, Oct 11, 2018 at 8:36 AM Duncan Murdoch <murdoch.duncan at gmail.com> wrote:> > 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.True, but the _file_ does not include the output. Thus it functions more as a preview, and will not be visible to you if I email you a .Rmd file. On the other hand, .ipynb files really do contain the output; if I email one to you and you open it in Jupyter you will see the output as well. --Ista> > > > > 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. > > >
Ista, you do not seem to be aware of the .nb.html format, which is way easier to share with a non-uswr than an ipynb file yet allows the same in-progress kinds of results to be shared and the source can be extracted easily using a web browser (no server needed). There is some controversy about this whole notebook approach [1] but I think deciding whether it is right for your purposes is highly subjective. FWIW It took me years to figure out how to even open a Jupyter notebook, so the idea that they should be the gold standard for sharing results seems absurd to me. [1] https://yihui.name/en/2018/09/notebook-war/ On October 11, 2018 5:53:29 AM PDT, Ista Zahn <istazahn at gmail.com> wrote:>On Thu, Oct 11, 2018 at 8:36 AM Duncan Murdoch ><murdoch.duncan at gmail.com> wrote: >> >> 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. > >True, but the _file_ does not include the output. Thus it functions >more as a preview, and will not be visible to you if I email you a >.Rmd file. On the other hand, .ipynb files really do contain the >output; if I email one to you and you open it in Jupyter you will see >the output as well. > >--Ista > >> >> > >> > 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. >> > >> > >______________________________________________ >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.-- Sent from my phone. Please excuse my brevity.