knitr
に可変キャプションを含むテーブルやグラフィックスを簡単に作成する方法があるのだろうかと思います。私が知る唯一の方法はこれです:(簡略化https://github.com/yihui/knitr-examples/blob/master/075-knit-expand.Rnwから)。しかし、出力をsrc
に集めてループの後に出力するのは難しいです。なぜなら、任意のデータセットからこのようなループを生成する関数を作成したいからです。ニットのキャプション付きループ
\documentclass{article}
\title{Using knit\_expand() for templates}
\author{Yihui Xie}
\begin{document}
\maketitle
\tableofcontents
<<lm-mtcars, tidy.opts=list(width.cutoff=55)>>=
# the template
tpl = c("\\subsection{Regression on {{xvar}}}",
"<<lm-{{xvar}}>>=",
"lm(mpg~{{xvar}}, data=mtcars)",
"@")
# expand to knitr source and pass to knit()
src = lapply(names(mtcars)[-1], function(xvar) {knit_expand(text = tpl)})
@
\Sexpr{knit(text = unlist(src))}
\end{document}
それでは、私が代わりに行うことができるようにしたいことは、このようなものです:私はそれに醸造を()実行した場合生じるであろう
\documentclass{article}
\title{Using knit\_expand() for templates}
\author{Yihui Xie}
\begin{document}
\maketitle
\tableofcontents
<<lm, tidy.opts=list(width.cutoff=55)>>=
myLfFun=function(dataset){
... some function definition which produces say an lm for each variable in dataset ...
}
@
\Sexpr{myLfFun(Titanic}
...
\Sexpr{myLfFun(mtcars}
... etc
\end{document}
... ...
\documentclass{article}
\title{Brew + knitR}
\author{Ramnath Vaidyanathan}
\begin{document}
\maketitle
\tableofcontents
<<lm-cyl >>=
lm(mpg ~ cyl, data = mtcars)
@
<<lm-disp >>=
lm(mpg ~ disp, data = mtcars)
@
<<lm-hp >>=
lm(mpg ~ hp, data = mtcars)
@
<<lm-drat >>=
lm(mpg ~ drat, data = mtcars)
@
<<lm-wt >>=
lm(mpg ~ wt, data = mtcars)
@
<<lm-qsec >>=
lm(mpg ~ qsec, data = mtcars)
@
<<lm-vs >>=
lm(mpg ~ vs, data = mtcars)
@
<<lm-am >>=
lm(mpg ~ am, data = mtcars)
@
<<lm-gear >>=
lm(mpg ~ gear, data = mtcars)
@
<<lm-carb >>=
lm(mpg ~ carb, data = mtcars)
@
((... same for Titanic database ...))
\end{document}
...これの出力はknit2pdf()でした。テンプレートがtmpl.Rnwという名前だったら、brew( 'tmpl.Rnw'、 'doc.Rnw'); knit2pdf( 'doc.Rnw)を実行します。
正確に何を求めているのですか?「可変テーブル/図表キャプション」または「任意のデータセットのループ」が必要ですか?この例では 'mtcars'に制限されていません。 –
ありがとうございます。私は "任意のデータセットのための関数"を望んでいます。これはループを含み、各変数に適切なキャプションを追加します。私はサーベイ研究で働いていますので、それぞれが非常に幅広いデータセットを持っていて、同様の方法で処理する必要のある関連変数のブロックを含んでいます(ヒストグラムとブロック内の各変数の表などを表示します)。私はこれがknitrの頻繁な使用事例だと思いましたか? –