2016-09-10 7 views
1

定義済みのコメントでプロットオブジェクトのリストを動的にロードするrmarkdownファイルを作成しようとしていました。.Rmdでプロットされたグラフ(コメント付き)を生成するループ

現在、このチャンクは複数のレベルで失敗しています: 1)プロットが正しく表示されません - 最後にhtmltools::tagList(ls_ply)を入れようとしましたが、エラーが発生します。 2)コメントをヘッダーにすることを期待しましたが、results='asis'をチャンクの先頭に適用すると、プロットが無効になります。 ggplotプロットについては

```{r, echo=FALSE, message=FALSE} 
library(plotly) 

dsamp <- diamonds[sample(nrow(diamonds), 1000), ] 
p1 <- qplot(carat, price, data=dsamp, colour=clarity) 
art1 <- list(viz = p1, comment = 'article1') 
p2 <- qplot(carat, price, data=dsamp, colour=carat) 
art2 <- list(viz = p2, comment = 'article2') 
ls_ply <- lapply(list(art1,art2),function(art){ 
    cat('## ',art$comment,'\n') 
    art$viz 
}) 
``` 

答えて

0

```{r, echo=FALSE, message=FALSE, results='asis'} 
library(ggplot2) 

dsamp <- diamonds[sample(nrow(diamonds), 1000), ] 
p1 <- qplot(carat, price, data=dsamp, colour=clarity) 
art1 <- list(viz = p1, comment = 'article1') 
p2 <- qplot(carat, price, data=dsamp, colour=carat) 
art2 <- list(viz = p2, comment = 'article2') 

art <- list(art1, art2) 
for (i in seq_len(length(art))) { 
    cat(sprintf("\n\n## %s\n", art[[i]]$comment)) 
    print(art[[i]]$viz) 
} 
``` 

しかし、これはplotlyオブジェクトに拡張することができません。これは既知の問題です。解決策は、すべてのプロットを再編成して一度にプロットすることです。これは、ここで必要なものではありません。

おそらくknit_expandを使用すると助けてもらえますが、knit_childは私にとっては直接的には機能しません。

+0

ありがとうございました。私は私のために働く別の解決策を見つけました。 [リンク](http://stackoverflow.com/questions/37008600/dynamically-loopthrough-htmlwidgets-and-add-knitr-formatting-for-rmarkdown) –

関連する問題