6 ms·
Beaker Notebook provides a different model for working in Python and R. Instead of wrapping one language in the other, you get a notebook where cells can be ei
by spot 11y ago
Beaker Notebook provides a different model for working in Python and R. Instead of wrapping one language in the other, you get a notebook where cells can be either Python or R, fully native, and they can communicate with a shared object.
The result is much simpler and more natural IMO:
https://pub.beakernotebook.com/#/publications/56648fcc-2e8e-41a6-aa4a-1249ee39023c?fullscreen=true https://pub.beakernotebook.com/#/publications/56648fcc-2e8e-...
Beaker has a feature "autotranslation" that converts the data between R, Python, JavaScript, Julia, Scala, Clojure, and many other languages, completely automatically. Learn more at http://BeakerNotebook.com http://BeakerNotebook.com
- nipun_batra 11y agoVery interesting! Thanks for the comment! I do see the advantages of beaker. I also see the advantages other way around :)
- baldfat 11y agoJupyter Notebooks (Formerly IPython Notebooks) http://jupyter.org/ http://jupyter.org/ is kernel agnostic and can work with all the other languages also. I use it for R and Python myself. (For data work I still prefer RStudio or Python's Rodeo) Breaker uses the same jkernel as IPython and backend of Jupyter.
- spot 11y agothat's right, but Jupyter notebooks have just one language each, they don't facilitate polyglot programming.
- captaindiego 11y agoTheir are some "cell magics" for running different languages in individual blocks in a Jupyter notebook. I gave it a try in passing with javascript a while back and I remember there was a way to share variables through as well. You can see the available magics here: https://ipython.org/ipython-doc/3/interactive/magics.html#cellmagic-javascript https://ipython.org/ipython-doc/3/interactive/magics.html#ce... Unfortunately it looks like there is none for R or Julia, but perhaps they are installed by those specific packages, or their is some other way I don't know of.
- IndianAstronaut 11y agoCell magics are exactly what I was looking for. Much easier to do some data cleanup stuff in Python and move stats heavy stuff to R.
- baldfat 11y agoRMagic for R and Python in Jupyter https://www.youtube.com/watch?v=StX_F_kq_C0 https://www.youtube.com/watch?v=StX_F_kq_C0
- IndianAstronaut 11y agoGood video. One thing I am looking to do is call Python from an R notebook, but that doesn't seem to be happening with the magic functions.
- tianlins 11y agoJupyter notebooks do support multiple languages. However, sharing objects among the languages is a whole another thing.
- IndianAstronaut 11y agoThe sharing objects thing seems like it would be fraught with errors and mismatches. R has a fundamentally different structuring than Python. From factors to numerics, and vectors.
- spot 11y agoR's "everything is a vector" approach does introduce a wrinkle but not hard to work with once you expect it: https://pub.beakernotebook.com/#/publications/560b5722-f287-43a3-b48d-f6ab06befc8f?fullscreen=true https://pub.beakernotebook.com/#/publications/560b5722-f287-... If you can find an error in our implementation I would be happy to hear about it (ideally file an issue on github). I am not an expert in R and I don't expect autotranslation to cover every case, but I think what we have is useful, and I look forward to continuing to improve it based on community feedback. Thanks, -Scott
- IndianAstronaut 11y agoI'll give this another look. Was hoping for somethings in the Jupyter notebook that didn't materialize.
- codemac 11y agoOrg-Mode has a similar layout for it's org-babel stuff in emacs. So glad to see something similar that's outside of the emacs ecosystem, would love to get an org-mode exporter / importer for beaker notebooks so I can collaborate with coworkers on higher order transformations.