R と [[LaTeX]] の連係. [[LaTeX]] そのものの話題は各人で検索して下さい。お薦めは[[TeX Wiki:http://oku.edu.mie-u.ac.jp/~okumura/texwiki/]]。 R と関係のある [[LaTeX]] の Tips を記載してください。 #contents //------------------------------------------------------------ * RからLaTeXの表を出力する RからLaTeXの表を出力するには、xtableパッケージのxtable()を使う方法とHmiscのlatex()がある。xtable()は単純な機能しか提供しないが、その分使いやすい。latex()は非常に高機能であるため、効率的にLaTeXの表を作成できる。 ** xtable() 別のページを参照 → [[xtable]] ** latex() latex()は、通常のtabluar以外にも、booktabsやctableに対応している。もし、論文用の表を作成したいのなら、booktabsかctableのどちらかを使うべきだろう。ctableの方が高機能だがドライバ依存なのでちょっと扱いが面倒。latex()を使うにはHmiscをインストールする。 *** booktabs形式での出力 > latex(オブジェクト, file='',booktabs=T,dcolumn=T) file=''とすると、画面に出力される。 *** ctable形式での出力 *** 用意するもの Hmiscパッケージ、[[ctable.sty:http://www.ring.gr.jp/pub/text/CTAN/macros/latex/contrib/ctable/]]、dcolumn.sty~ styファイルをカレントディレクトリに置けばそのまま使えるが、今後いつでも使えるようにするためには、styファイルは適当なところに置き、mktexlsrなどを実行して登録しておく。 *** コマンドの実行 > latex(オブジェクト, file='ファイル名.tex',ctable=T,dcolumn=T) ctableは学術風の表にするため、dcolumnは小数点をそろえるため。 *** LaTeXソースの中に取り込む \documentclass{jsarticle} \usepackage[xdvi]{color} \usepackage{ctable,dcolumn} \begin{document} \input{ファイル名.tex} \end{document} 上記のように論文中に\inputを使って取り込めばよい。 *** 実行結果の例 #ref(latex-table.png) latex()は非常に多機能なので、是非ヘルプファイルを読まれたい。 * Rのソースコードを[[LaTeX]]文書に記述する 「[[RのソースコードをLaTeX文書に記述する]]」を参照。 //------------------------------------------------------------ * [[LaTeX]] の表を作成する ''xtable'' パッケージを利用すると、データを「LaTeXのtabular環境でのコード」 あるいは「htmlの表のコード」を出力します。 //------------------------------------------------------------ * 図をEPS ファイルに書き出す > dev.copy2eps( file = "file_name.eps" ) [[Rによるポストスクリプト画像のLaTeXでの利用]] も参照. * 図をPDFファイルに書き出す pdflatex+pdfscreenなどでは epsは使えない。代わりにpdfを作成する必要がある。 > dev.copy(pdf,file="fine_name.pdf") > dev.off() または > pdf() > prot(x) > dev.off() //------------------------------------------------------------ * 図中に日本語や数式を使う 日本語化Rがなくてもぁ▲�螢献淵襪�で作成した図で自由に日本語が使えます。 [[PSfrag:http://www.ctan.org/tex-archive/macros/latex/contrib/supported/psfrag/]]を使います。 PSfrag を使った場合は、英文の図を日本語の図に変換するため、論文に使った図(英文)を講義(日本語)などで使い回す際に、改めて日本語の図を再作成する必要がなくとても便利です。しかし、xdvi でプレビューできませんので、注意が必要です。 * 図をpicTeX形式に書き出す > dev.copy(pictex,"fig1.tex") できあがったpicTeX形式の図(上記例ではfig1.tex)はテキストファイルなので、テキストエディタで日本語に書き換えることができます。picTeXはメモリを大量に消費するので、メモリを多く消費する他のstyファイルと一緒には使えないことがあります。(TEXMF/web2c/texmf.cnfで上限を調節して下さい) ** 参考例 -- 2004-11-20 まず R で x <- rnorm(10) pictex("test.tex") plot(x) dev.off() これで作られたファイル test.tex の最初に次を加える \documentclass[a4paper]{jarticle} \usepackage{pictex} \begin{document} 当然最後に次を加える \end{document} 次に test.tex からx,y軸ラベルに相当するところを見つけ編集、つまり \put {Index} [rB] <0.00pt,0.00pt> at 169.59 5.17 \put {x} [lB] <0.00pt,0.00pt> at 9.72 154.73 をたとえば \put {インデックス} [lB] <0.00pt,0.00pt> at 169.59 5.17 \put {\shortstack[r]{ス\\[-7mm] ク\\[-7mm] ッ\\[-7mm] エ}} [rB] <0.00pt,0.00pt> at 2 154.73 に変更する。at 以下はテキストをおく位置の x,y 座標ですから、これをいじくれば見栄えの良い位置になります。\shortstack 内のテキストはさかさまにします。\\[-7mm] は垂直間隔を調整するためです。さらに微妙な調整をするには pictex の命令を勉強する必要がありそうです。画像ファイルが欲しければ dvips test.dvi で ps ファイルにし、さらに Imagemagik 等の画像ソフトで最終的に欲しいフォーマットに変換する、でしょうか。特に複雑な画像はひょっとすると latex コンパイル時にトラブルが起きるかも知れません。参考画像は latex の一頁分そのままです(でっかく、見苦しくて済みません)。 x 軸マークはお遊びです、どうしたかはもう想像がつくかと思います。 #ref(test.png) //------------------------------------------------------------ * 資料 - [[Statistical Tables and Plots using S and LaTeX:http://biostat.mc.vanderbilt.edu/twiki/pub/Main/StatReport/summary.pdf]] - [[The R Book]]第19章「RとLaTeX」 //------------------------------------------------------------ * 関連 ツール Sweave を使うと、R コードと LATEX ドキュメントの一体化ができ、画像を含む解析結果を自動的に LATEX ソースファイルに取り込むことができます。論文、定型的レポート等、コードとデータを変えた場合も一発で済みます。 - [[Sweave:http://www.ci.tuwien.ac.at/~leisch/Sweave/]] - [[Sweave 関連情報]]