2012年2月10日金曜日

Sweave 入門

文字コードについての記述を訂正 (2/11)

いきなり始めるエスウィーヴ(for windows)

口上
R で作業して TeX でレポートや発表資料をつくってる人は Sweave を使うと楽ができるかもしれない。Sweave は R に最初から入ってる関数。

入れるもの
"Sweave.sty" と "ae.sty" 。これを "Sweave.sty", "ae.sty" という名前で保存して、使っている TeX 環境の "なんとか.sty" っていうファイルがいっぱい入ってるフォルダ(私の場合は "C:¥w32tex¥share¥texmf¥tex¥platex¥base")に置く。

使用例
  1. ↓これを "test.Rnw" という名前で保存する

  2. \documentclass{jsarticle}
    \usepackage[dviout]{graphicx} 
    \usepackage{ascmac}
    \title{タイトル}
    \begin{document}
    \maketitle
    これはテスト
    
    <>=
     data(cars)
     plot(cars)
    @
    
    \end{document}
  3. R を起動して作業ディレクトリを "test.Rnw" のあるところに変更
  4. R コンソールに Sweave("test.Rnw",encoding = "cp932") と入力
これで以下のようなメッセージが出て来て、
> Sweave("test.Rnw",encoding = "cp932")
Writing to file test.tex
Processing code chunks ...
 1 : echo term verbatim eps
You can now run (pdf)latex on ‘test.tex’
('test.tex' に対して LaTeX を実行できます)
作業ディレクトリに "test.tex", "test-001.eps" というファイルができるはず。 "test.tex" の中身はこうなっている。
\documentclass{jsarticle}
\usepackage[dviout]{graphicx} 
\usepackage{ascmac}
\title{タイトル}
\usepackage{Sweave}
\begin{document}
\maketitle
これはテスト

\begin{Schunk}
\begin{Sinput}
> data(cars)
> plot(cars)
\end{Sinput}
\end{Schunk}
\includegraphics{test-001}

\end{document}
 
普通にコンパイルできる。するとこんな感じになる↓


以上です。

蛇足
  • "test.Rnw" の文字コード、UTF-8 にしたら日本語の部分が全部 "NA" になってた。Shift_JIS にしたら通った(Mac だとこの逆だったりするのかな?)
    「R-2.13.1から,関数Sweave()の引数にencordingを明示する必要があります.Shift-JISなら次のようにします.Sweave("test.Rnw", encoding = "cp932") 」ということだったようです。
  • 最初、"Sweave.sty" と "ae.sty" をブラウザから保存したら、html のタグもくっついてきてて、それに気付かずずっとエラーになってた。
  • "test.Rnw" の9行目、<< >> で囲まれた部分にいろいろオプションを付けられる。デフォルトだと pdf=TRUE, eps=FALSE になってる(グラフが pdf で出てきて、eps では出てこない)

参考・関連リンク
R日記の作り方 Sweaveを使う - ryamadaの遺伝学・遺伝統計学メモ
LaTeX - RjpWiki:R から LaTeX の表を出力したりする方法が載ってる。これでいちいち ... & ... & ... ¥¥ とか打たなくていい。

0 件のコメント:

コメントを投稿