Realice un bucle dinámico a través de widgets html y agregue formato knitr para RMarkdown
Estoy tratando de crear dinámicamente y recorrerhtmlwidgets
comoDT
, plotly
orbokeh
para generar un informe de tejedor automatizado. ¿Hay alguna manera de agregarknitr
formateo, como eltabset
, en eltagList
enfoque descrito en esta pregunta de Githubhttps://github.com/ramnathv/htmlwidgets/pull/110? También publiqué esta pregunta allí.
A continuación se muestra un código de ejemplo de lo que estoy pensando, pero no funciona del todo. Lo que intento hacer es crear 10 pestañas, cada una con una copia de la trama generada a partir deplot_list
. Lo que sucede ahora es que todas las parcelas van a la última pestaña. En la práctica,plot_list
tendrían diferentes parcelas / tablas.
#' ---
#' title: htmltools::tagList test
#' output:
#' html_document
#' ---
#' # {.tabset}
#+ results='asis', echo=FALSE
library(plotly)
library(printr)
plot_list = lapply(1:10,
function(i){
as.widget(plot_ly(iris,
x = iris[["Sepal.Length"]],
y = iris[["Sepal.Width"]],
mode = "markers"))
}
)
htmltools::tagList( lapply(1:10,
function(i) {
pandoc.header(paste0("Tab",i,' {.tabset}'), 2)
plot_list[[i]]
}
)
)
# rmarkdown::render("your_path/htmltoolsTagList_test.r")
Antes, estaba haciendo algo así con éxito con bucles for anidados, pero una vez que intenté usar figuras con dependencias HTML, las figuras, por supuesto, no se representan ya que ya no son expresiones de nivel superior. ¿Es posible enknitr
hacer un bucle como este?
Una pregunta de seguimiento que tengo es: supongamos que quisiera anidar estas pestañas en otro conjunto de pestañas creadas de la misma manera, ¿es eso posible? Lo que quiero preguntar es, ¿puedo anidar pestañas dinámicamente usando un método como este, análogo a un bucle for anidado?
Todavía estoy aprendiendo a usarknitr
, y agradecería cualquier ayuda! ¡Gracias!