Ya sabemos que Quarto® is an open-source scientific and technical publishing system built on Pandoc que permite crear contenidos con R, Python, Julia y Observable
Obervable JS (OJS) es “a JavaScript flavor designed for data analysis”. Observable tiene digamos la interactividad incorporada de serie: es sencillo incorporar filtros interactivos para controlar el output que muestran las tablas y gráficos. Esto abre nuevas posibilidades a los usuarios de R.
La documentación oficial de Quarto para hacer disponibles los datos a OJS está aquí.
Combining R and Observable javascript allows to take advantage of the strengths of both languages. It allows to combine the statistical analysis possibilities of R and the reactive visualization features of Observable. A win win strategy.
Using Quarto with Observable JavaScript is a great solution for R and Python users who want to create more interactive and visually engaging reports. Using Quarto with Observable offers an elegant workflow if you want to combine data analysis in Python and R with reactivity. Finally, Observable was set up with collaboration in mind, so it’s fairly easy to find and use someone else’s open source code.
Otra ventaja de Quarto:
Quarto’s rendered HTML files can be hosted on any web server or opened locally with a simple browser, with no separate language or framework installations required. That’s not the case for options like Shiny for R or Dash for Python (alpha Shiny for Python can run without a Shiny server, but it’s not yet production-ready). Using Quarto with Observable offers an elegant workflow if you want to combine data analysis in Python and R with reactivity.
Quarto puede ejecutar código de OJS. Sólo hay que colocar el código entre las marcas habituales : ```{ojs}. Además se puede analizar los datos en R y luego enviarlos a OJS con la función ojs_define().
Hay que hacer un paso más para poder usar datos los datos de R en Observable: hay que transformar los datos a un formato compatible con OJS, para ello usamos la función transpose()
Las visualizaciones de JavaScript suelen utilizar un formato de datos diferente al de los marcos de datos rectangulares que normalmente se necesitan en R o Python. Aunque en este caso no ha hecho falta (!!)
Código
countries =JSON.parse(data1) Inputs.table(countries.features.map(d => d.properties))
Pues parece que con Observable 2.0 ha creado un espacio para generar webs estáticas, digamos similar a QuartoPub, y que se llama Observable Framework. Aquí un toot sobre ello.