3

、、または自動 Knitr レポートを生成するためhtmlwidgetsに、動的に作成してループしようとしています。この github question https://github.com/ramnathv/htmlwidgets/pull/110で概説されているアプローチに、などの書式設定を追加する方法はありますか? 私もそこにこの質問を投稿しました。DTplotlyrbokehknitrtabsettagList

以下は私が考えているコードの例ですが、うまくいきません。私がやろうとしているのは、10 個のタブを作成し、それぞれに から生成されたプロットのコピーを作成することですplot_list。現在起こっていることは、すべてのプロットが最後のタブに移動することです。実際にplot_listは、異なるプロット/テーブルを持つことになります。

#' ---
#' 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")

以前は、ネストされた for ループでこのようなことをうまく行っていましたが、HTML の依存関係を持つ Figure を使用してみると、トップ レベルの式ではないため、もちろん Figure はレンダリングされません。knitrこのようにループすることは可能ですか?

私が持っているフォローアップの質問は、これらのタブを同じ方法で作成された別のタブのセットにネストしたいと思ったとします。それは可能ですか? 私が質問したいのは、ネストされた for ループに似た、このような方法を使用してタブを動的にネストすることはできますか?

私はまだ使用方法を学んknitrでおり、助けていただければ幸いです! ありがとうございました!

4

1 に答える 1