7.8 HTML 出力に好きなファイルを埋め込む
7.7節で言及したように, HTML出力には Rmd ソース文書のコピーを埋め込めます. Rmd ファイル単体ではレポートを再現するのに不十分なこともあります. 例えばレポートに外部のデータファイルが必要かもしれません. HTML 出力ファイルに好きなファイルを埋め込んでくれる一連の関数が xfun パッケージ (Xie 2021g) にあります. これらの関数を使うために, 以下の R パッケージを用意しておきます.
これにより, コードチャンク内で xfun::embed_file()
, xfun::embed_files()
, xfun::embed_dir()
のどれかを使って, 1つ以上のファイルやディレクトリを HTML 出力に埋め込めます. 例えばこのように.
```{r echo=FALSE}
# a single file
xfun::embed_file('source.Rmd')
# multiple files
xfun::embed_files(c('source.Rmd', 'data.csv'))
# a directory
xfun::embed_dir('data/', text = 'Download full data')
```
プログラミング的にファイルのリストを与えることもできます. 例えばこのように.
複数のファイルに対しては, これらの関数はまず zip ファイルに圧縮してから, その zip ファイルを埋め込みます. これらの関数はリンクを返し, 読者は HTML ページのリンクをクリックして埋め込んだファイルをダウンロードすることができます.
これらの関数のより詳細な技術的情報は, ヘルプページ ?xfun::embed_file
またはブログ投稿 https://yihui.org/en/2018/07/embed-file/ で学ぶことができます. 同様のアイディアにより, downloadthis package (Mattioni Maturana 2022) はダウンロードボタンを実装したことで, ユーザーはリンクではなくダウンロードボタンをクリックしてダウンロードできるようになります. ボタンを使うほうがお好みなら, こちらを使うことも検討するとよいでしょう.