#LyX 2.4 created this file. For more info see https://www.lyx.org/ \lyxformat 620 \begin_document \begin_header \save_transient_properties true \origin /systemlyxdir/examples/ja/Modules/ \textclass bxjsarticle \begin_preamble %% maxwidth is the original width if it's less than linewidth %% otherwise use linewidth (to make sure the graphics do not exceed the margin) \def\maxwidth{% \ifdim\Gin@nat@width>\linewidth \linewidth \else \Gin@nat@width \fi } \end_preamble \options nogin \use_default_options true \begin_modules sweave \end_modules \maintain_unincluded_children no \language japanese \language_package none \inputencoding utf8 \fontencoding auto \font_roman "palatino" "IPAexMincho" \font_sans "default" "IPAexGothic" \font_typewriter "default" "IPAGothic" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts true \font_sc false \font_roman_osf false \font_sans_osf false \font_typewriter_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \use_microtype false \use_dash_ligatures false \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize default \spacing single \use_hyperref false \papersize default \use_geometry true \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 \use_package esint 1 \use_package mathdots 1 \use_package mathtools 1 \use_package mhchem 1 \use_package stackrel 1 \use_package stmaryrd 1 \use_package undertilde 1 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \justification true \use_refstyle 0 \use_minted 0 \use_lineno 0 \index Index \shortcut idx \color #008000 \end_index \leftmargin 3cm \topmargin 3cm \rightmargin 3cm \bottommargin 3cm \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default \is_math_indent 0 \math_numbering_side default \quotes_style english \dynamic_quotes 0 \papercolumns 1 \papersides 1 \paperpagestyle default \tablestyle default \tracking_changes false \output_changes false \change_bars false \postpone_fragile_content false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \docbook_table_output 0 \docbook_mathml_prefix 1 \end_header \begin_body \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout % \backslash SweaveOpts{prefix=TRUE,prefix.string=sweave-prefix,keep.source=FALSE} \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout %% \backslash maxwidth はプリアンブル中で定義されています。 文書設定をご覧ください。 \end_layout \begin_layout Plain Layout \backslash setkeys{Gin}{width= \backslash maxwidth} \end_layout \end_inset \end_layout \begin_layout Title \SpecialChar LyX でSweaveを使うには \end_layout \begin_layout Author Yihui Xie \begin_inset Foot status collapsed \begin_layout Plain Layout アイオワ州立大学統計学部、電子メール: \begin_inset CommandInset href LatexCommand href name "xie@yihui.name" target "xie@yihui.name" type "mailto:" literal "false" \end_inset \end_layout \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash and \end_layout \end_inset Gregor Gorjanc \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash and \end_layout \end_inset Jean-Marc Lasgouttes \end_layout \begin_layout Standard Sweaveは、文芸的プログラミングの考えに従った、動的なレポート生成するための、R言語( \begin_inset Flex URL status collapsed \begin_layout Plain Layout http://www.r-project.org \end_layout \end_inset )ツールです。 Rコードは、\SpecialChar LaTeX 文書の中で混用することができ、文書がコンパイルされるときにRで実行されます。 結果は、\SpecialChar TeX 出力内に書きこまれます。 \end_layout \begin_layout Standard \SpecialChar LyX 2.0以降では、 \family sans Sweave \family default モジュールを使えば、どの文書クラスでもSweaveをそのまま使うことができます。 \family sans Sweave \family default モジュールを文書に加えるには、 \family sans 文書\SpecialChar menuseparator 設定\SpecialChar menuseparator モジュール \family default を使用します。 この説明書では、Sweaveでよく使われる機能をいくつか紹介し、本モジュールがどう動作するかを説明します。 この説明書のPDF版は、 \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://stat.ethz.ch/R-manual/R-devel/library/utils/doc/Sweave.pdf \end_layout \end_inset にあります。 \end_layout \begin_layout Section システム要件 \end_layout \begin_layout Standard \family sans Sweave \family default モジュールは、実行ファイル \family typewriter Rscript \family default に依存しますので、このファイルが、システムの \family sans PATH \family default 変数に含まれるパスになくてはなりません。 これは、LinuxやMac OSユーザーには大した問題とならないでしょうが、Windowsユーザーには混乱を招くかもしれません。 Windowsにおける \family sans PATH \family default が何かわからない場合には、R言語のリポジトリ \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://github.com/yihui/lyx \end_layout \end_inset にあるRスクリプト \family sans add-R-path-win.R \family default を使って、パスを自動的に変更するか(推奨はできません。 何にせよ \family sans PATH \family default が何かくらいは勉強すべきです)、あるいは \family sans ツール\SpecialChar menuseparator 設定\SpecialChar menuseparator パス\SpecialChar menuseparator パス接頭辞 \family default からRのバイナリパスを追加することができます(推奨)。 後者の場合、大抵 \family sans C: \backslash Program Files \backslash R \backslash R-x.x.x \backslash bin \family default のような形をしており、R内で下記のようにして確認することができます。 \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout where-is-R-bin,eval=FALSE \end_layout \end_inset \end_layout \begin_layout Plain Layout R.home('bin') \end_layout \end_inset \end_layout \begin_layout Standard これらの変更を加えた後、 \family sans ツール\SpecialChar menuseparator 再初期設定 \family default を使って、\SpecialChar LyX の再設定を行う必要があります。 \family typewriter Rscript \family default が \family sans PATH \family default にない場合、 \family sans Sweave \family default モジュールを使うことはできません。 Sweaveの更新は続いていますので、最新版のRを使用することをお勧めします。 Rに同梱され、このパス下にある(CTANにはありません)\SpecialChar LaTeX スタイルファイル \family sans Sweave.sty \family default によって、下記のように依存関係が追加されます。 \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout sweave-sty,eval=FALSE \end_layout \end_inset \end_layout \begin_layout Plain Layout file.path(R.home('share'), 'texmf', 'tex', 'latex') \end_layout \end_inset \end_layout \begin_layout Standard Mik\SpecialChar TeX ユーザーは、Mik\SpecialChar TeX の設定で、Mik\SpecialChar TeX のルートディレクトリ一覧にtexmfディレクトリも追加したほうが良いかもしれません。 また、 \family sans Sweave.sty \family default は \series bold fancyvrb \series default パッケージに依存しており、 \series bold ae \series default に依存する \emph on ことも \emph default あります。 \SpecialChar LyX が \family sans Sweave.sty \family default を検出できないときは、直接Rからコピーしますので、このスタイルファイルがどこにあるかわからない場合でも、Sweaveモジュールは動作します。 \end_layout \begin_layout Section Sweaveの用例 \end_layout \begin_layout Standard Sweave文書を書く前に、Sweaveオプションを設定しましょう。 Sweaveの設定コマンドは \family typewriter \backslash SweaveOpts{} \family default ですが、これは、\SpecialChar LyX 文書中で、 \family sans 挿入\SpecialChar menuseparator 任意設定差込枠\SpecialChar menuseparator Sweaveオプション \family default か、\SpecialChar TeX コードで書く( \family sans 挿入\SpecialChar menuseparator \SpecialChar TeX コード \family default )ことで挿入することができます。 例えば、文頭で大域オプション \family typewriter echo=FALSE \family default を設定して、すべてのRコードを抑制することもできます(既定では、Rコードとその出力は、両方とも\SpecialChar LaTeX 文書中に表示されます)。 \end_layout \begin_layout Standard \SpecialChar LyX でRコードを書くには、まずレイアウト様式一覧(ツールバーの左上端のドロップリスト)から、 \family sans コード組 \family default 環境に変更するか、あるいは、単に\SpecialChar TeX コード環境を開いて、Sweaveのコード組を書き込んでください。 後者の方法の方が安定していますので、そちらをお勧めします。 \end_layout \begin_layout Standard 例えば \family typewriter width \family default や \family typewriter useFancyQuotes \family default のようなRオプションもSweaveの出力に便利です。 前者のオプションは、出力の幅を調整するものであり、後者は引用符に関してよく起こる問題を回避することができます。 詳細については、Rに添付のSweave取扱説明書をお読みください。 \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout setup, keep.source=TRUE \end_layout \end_inset \end_layout \begin_layout Plain Layout ## オプション「digits」は桁数(の概数)を設定できます \end_layout \begin_layout Plain Layout options(width = 70, useFancyQuotes = FALSE, digits = 4) \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout sweave-manual, eval=FALSE, keep.source=TRUE \end_layout \end_inset \end_layout \begin_layout Plain Layout ## Sweaveのvignetteを見る (要 R >= 2.13.0) \end_layout \begin_layout Plain Layout vignette("Sweave", package = "utils") \end_layout \end_inset 下記は、どのSエンジンでも動作する単純な例です。 \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout print-integers, keep.source=TRUE \end_layout \end_inset \end_layout \begin_layout Plain Layout ## 1から10までの整数は \end_layout \begin_layout Plain Layout 1:10 \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout hide-results, results=hide \end_layout \end_inset \end_layout \begin_layout Plain Layout ## results=hide を設定して意図的に出力を隠す \end_layout \begin_layout Plain Layout print(1:20) \end_layout \end_inset 単純な計算機をエミュレートすることもできます。 \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout calculator \end_layout \end_inset \end_layout \begin_layout Plain Layout 1 + pi \end_layout \begin_layout Plain Layout sin(pi/6) \end_layout \end_inset \end_layout \begin_layout Standard 今度は、ガウシアンデータを見てみましょう。 \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout rnorm \end_layout \end_inset \end_layout \begin_layout Plain Layout set.seed(123) # 再現可能性のため \end_layout \begin_layout Plain Layout x <- rnorm(20) \end_layout \begin_layout Plain Layout print(x) \end_layout \begin_layout Plain Layout t1 <- t.test(x) \end_layout \end_inset \end_layout \begin_layout Standard 数値を標準テキストに簡単に統合させることができます。 これは、 \family typewriter \backslash Sexpr{} \family default コマンドによって行われ、\SpecialChar LyX 中の対応するメニューは \family sans 挿入\SpecialChar menuseparator 任意設定差込枠\SpecialChar menuseparator S/R表現 \family default ですが、\SpecialChar TeX コードを使うこともできます。 例えば、ベクトル \family typewriter x \family default の第3要素は、 \begin_inset Flex S/R expression status collapsed \begin_layout Plain Layout x[3] \end_layout \end_inset (すなわち \family typewriter x[3] \family default )であり、検定の \begin_inset Formula $p$ \end_inset 値は \begin_inset Flex S/R expression status collapsed \begin_layout Plain Layout format.pval(t1$p.value) \end_layout \end_inset です。 これらの数値は、R中で \emph on round() \emph default のようなコマンドを使うことによって丸めることもできます。 \end_layout \begin_layout Standard \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none 今度は、 \family typewriter \series default \shape default \size default \emph default \bar default \noun default \color inherit iris \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none データセットの要約を見てみましょう。 \end_layout \begin_layout Standard \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout iris-summary \end_layout \end_inset \end_layout \begin_layout Plain Layout summary(iris[,-5]) \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset Float table placement document alignment document wide false sideways false status open \begin_layout Plain Layout \begin_inset Caption Standard \begin_layout Plain Layout \family typewriter iris \family default データの最初の4変数の分位数 \begin_inset CommandInset label LatexCommand label name "tab:xtable-demo" \end_inset \end_layout \end_inset \end_layout \begin_layout Plain Layout \align center \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout xtable-demo,results=tex,echo=FALSE \end_layout \end_inset \end_layout \begin_layout Plain Layout if (require('xtable')) { \end_layout \begin_layout Plain Layout print(xtable(sapply(iris[,-5], quantile)), floating=FALSE) \end_layout \begin_layout Plain Layout } else cat('the xtable package is not available! please install.packages("xtable")') \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard 通常、人々はこのような「生の」出力を好みませんので、これらのごちゃごちゃした数字を、 \series bold xtable \series default パッケージを使って綺麗にしてやるといいでしょう。 表 \begin_inset CommandInset ref LatexCommand ref reference "tab:xtable-demo" nolink "false" \end_inset は、Sweaveでの \series bold xtable \series default パッケージの使い方を示すための例です。 コード組のオプション \family typewriter results=tex \family default は、R出力が、特別な環境( \family typewriter Soutput \family default )で包まれるのではなく、生の\SpecialChar LaTeX コードとして書き出されるように保証するためのものです。 \end_layout \begin_layout Standard 図 \begin_inset CommandInset ref LatexCommand ref reference "fig:iris-pairs" nolink "false" \end_inset と図 \begin_inset CommandInset ref LatexCommand ref reference "fig:iris-boxplots" nolink "false" \end_inset は、Sweaveを使って画像を生成する簡単な例です。 \end_layout \begin_layout Standard \begin_inset Float figure placement document alignment document wide false sideways false status open \begin_layout Plain Layout \align center \begin_inset Note Note status open \begin_layout Plain Layout epsとpdfの両方をtrueにして、latexとpdflatexの両方を動作するようにすることができます。 実際には、おそらく一つを選ぶだけでよいでしょう。 \end_layout \end_inset \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout iris-pairs,fig=TRUE,width=4.5,height=4.5,eps=TRUE,pdf=TRUE \end_layout \end_inset \end_layout \begin_layout Plain Layout pairs(iris, col = iris$Species) \end_layout \end_inset \end_layout \begin_layout Plain Layout \begin_inset Caption Standard \begin_layout Plain Layout \family typewriter iris \family default データの散布図マトリックス \begin_inset CommandInset label LatexCommand label name "fig:iris-pairs" \end_inset \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset Float figure placement document alignment document wide false sideways false status open \begin_layout Plain Layout \align center \begin_inset Flex Chunk status open \begin_layout Plain Layout \begin_inset Argument 1 status open \begin_layout Plain Layout iris-boxplots,fig=TRUE,width=7,height=2,keep.source=F,eps=T,pdf=T \end_layout \end_inset \end_layout \begin_layout Plain Layout par(mar=c(4,5,.1,.3), las=1) \end_layout \begin_layout Plain Layout boxplot(Sepal.Length~Species,data=iris,horizontal=TRUE,xlab='Sepal.Length') \end_layout \end_inset \end_layout \begin_layout Plain Layout \begin_inset Caption Standard \begin_layout Plain Layout 種でグループ化された萼片の長さのボックスプロット \begin_inset CommandInset label LatexCommand label name "fig:iris-boxplots" \end_inset \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard Sweave文書中のRコードは、単一のRスクリプトとして書きだすことができますが、これは \family typewriter R CMD Stangle \family default を使って行われます。 \end_layout \begin_layout Section \family sans Sweave \family default モジュール \end_layout \begin_layout Standard \family sans Sweave \family default モジュールは、\SpecialChar LyX 文書が、Rを使った文芸的プログラミングのコンポーネントを含んでいることを宣言しますので、\SpecialChar LyX は、そのような文書を取り扱う特定の変換子を使って処理します(取扱説明書カスタマイズ篇参照)。 \family sans Sweave \family default モジュールは、 \family sans sweave \family default 変換子を使用しますが、これは、\SpecialChar LyX の \family sans scripts \family default ディレクトリ下にあるRスクリプト \family sans lyxsweave.R \family default が本体になっています。 このスクリプトは、\SpecialChar LyX から \family sans Rnw \family default 文書を受け取り、これを\SpecialChar TeX 文書に変換するためにSweaveを呼び出します。 その後の作業は、\SpecialChar LyX が面倒を見ます。 \end_layout \begin_layout Standard \family sans sweave \family default 形式から\SpecialChar LaTeX への変換子は、下記のコマンド行でRを呼び出します。 \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash begin{verbatim} \end_layout \begin_layout Plain Layout Rscript --no-save --no-restore $$s/scripts/lyxsweave.R $$p$$i $$p$$o $$e $$r \end_layout \begin_layout Plain Layout \backslash end{verbatim} \end_layout \end_inset \end_layout \begin_layout Standard \SpecialChar LyX ライブラリディレクトリ \family typewriter $$s \family default は、 \family sans ヘルプ\SpecialChar menuseparator \SpecialChar LyX について \family default メニューに記載があります。 他にRに渡すことのできるオプションは、Rスクリプト中で説明されており、また、\SpecialChar LyX 取扱説明書カスタマイズ篇には、 \family typewriter $$i \family default ・ \family typewriter $$o \family default ・ \family typewriter $$e \family default ・ \family typewriter $$r \family default についての詳しい説明があります。 一般ユーザーは、これらの意味について詳しく知る必要はありませんが、ここでは、Rコードにまつわる若干の問題について説明しておく必要があります。 \end_layout \begin_layout Enumerate \SpecialChar LyX 文書のエンコーディングを表す文字列は、Rにコマンドラインオプションとして渡されます。 取り得る値は、 \family typewriter ISO-8859-15 \family default や \family typewriter UTF-8 \family default などです。 エンコーディングは、Rが \family sans Rnw \family default 文書を正しく読むのに使用されます。 \end_layout \begin_layout Enumerate Sweave文書内のRコード組は、\SpecialChar LyX 文書のあるディレクトリで実行されます(自信のない場合は、現在の作業ディレクトリがどこかを見るために、コード組に \family typewriter getwd() \family default を置いてください)。 この場合、データファイルは同じディレクトリ下に置くことができ、再現可能性を保証するために、R内部では相対パスを使用してください。 すなわち、他のシステムでは存在しないかもしれない、ハードコードのパスを書く必要はありません。 \end_layout \begin_layout Enumerate \SpecialChar LaTeX が \family sans Sweave.sty \family default を検出できないと、このRスクリプトが自動的に \family sans Sweave.sty \family default を一時ディレクトリにコピーし、そこで\SpecialChar LaTeX コンパイルを実行します。 \end_layout \begin_layout Enumerate Sweaveは、既定でRnwファイルのファイル名を、画像出力の接頭辞文字列として使用します。 既知の問題の1つ( \begin_inset CommandInset href LatexCommand href name "#7551" target "https://www.lyx.org/trac/ticket/7551" literal "false" \end_inset )として、ファイル名(拡張子を除く)にピリオドが含まれている場合、\SpecialChar LaTeX がそのファイルを \family typewriter \backslash includegraphics{} \family default で処理する際に失敗しうるということが知られています。 したがって、接頭辞の既定値は、すべてのピリオドを「-」で置換したファイル名にしてあります。 この問題は、Sweaveで直接的に解決することもができます。 Sweaveオプションの \family typewriter prefix.string \family default を、ピリオドを含まない文字列に設定すると、このオプションが既定値を上書きします。 \end_layout \begin_layout Standard Sweaveパッケージには、事前に \family typewriter noae \family default オプションが設定されています。 このオプションは、Sweaveが下記の2つのパッケージを読み込んでしまうのを防ぎます。 \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash begin{verbatim} \end_layout \begin_layout Plain Layout \backslash RequirePackage[T1]{fontenc} \end_layout \begin_layout Plain Layout \backslash RequirePackage{ae} \end_layout \begin_layout Plain Layout \backslash end{verbatim} \end_layout \end_inset \end_layout \begin_layout Standard \SpecialChar LyX は、既定でフォントエンコーディングを取り扱うことができるので、Sweaveにこれをやってもらう必要はないのです(その上、これはパッケージオプションの衝突をもたらす可能性があります)。 一方、ユーザーは、必要ならばプリアンブルで \series bold ae \series default パッケージを手動で読み込ませることができます。 \end_layout \begin_layout Section 問題の解決法 \end_layout \begin_layout Standard \SpecialChar LyX 2.0以降、コンパイル中の詳細な情報を、 \family sans 表示\SpecialChar menuseparator メッセージを表示 \family default で見ることができるようになりました。 これは、問題の解決に非常に役に立ちます。 Rの処理は、メッセージパネルに表示され、エラーが発生した場合には、どのコード組がおかしいのか知ることができます。 例えば、この文書をコンパイルする時、以下のようなメッセージを見ることができるでしょう。 \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash begin{verbatim} \end_layout \begin_layout Plain Layout 17:58:47.868: Processing code chunks with options ... \end_layout \begin_layout Plain Layout 17:58:47.885: 1 : echo keep.source term verbatim (label=setup) \end_layout \begin_layout Plain Layout 17:58:47.889: 2 : echo keep.source (label=sweave-manual) \end_layout \begin_layout Plain Layout 17:58:47.908: 3 : echo keep.source term verbatim (label=print-integers) \end_layout \begin_layout Plain Layout .... \end_layout \begin_layout Plain Layout 17:58:47.941: Loading required package: xtable \end_layout \begin_layout Plain Layout 17:58:47.976: 9 : echo term verbatim pdf (label=iris-pairs) \end_layout \begin_layout Plain Layout .... \end_layout \begin_layout Plain Layout 17:58:48.116: You can now run (pdf)latex on 'sweave.tex' \end_layout \begin_layout Plain Layout \backslash end{verbatim} \end_layout \end_inset \end_layout \begin_layout Standard \family typewriter label= \family default の後の文字列が、コード組のラベルを示します。 コード組のどれかがRでエラーを起こせば、即座にここにエラーメッセージを見ることができます。 \end_layout \begin_layout Standard もうひとつ知られている問題点は、\SpecialChar LyX 中でコード組段落の配置に( \family sans 段落設定 \family default を使用して)手を加えた場合、\SpecialChar LyX は、改行しないでコード組の前に \family typewriter \backslash centering{} \family default のようなマクロを書き加えてしまうことがあるので、Sweaveコード組がエラーを起こす場合があるという事です。 この場合のコード組は、下記のようになってしまいます。 \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash begin{verbatim} \end_layout \begin_layout Plain Layout \backslash centering{}<>= \end_layout \begin_layout Plain Layout \backslash end{verbatim} \end_layout \end_inset \end_layout \begin_layout Standard \family typewriter <<>>= \family default は行頭すぐに置かれなくてはならないため、これは正しいSweaveコードではありません。 したがって、コード組段落の配置に手を加える場合には、 \family sans 表示\SpecialChar menuseparator ソースを表示 \family default で、実際のソースコードを再確認し、 \family typewriter <<>>= \family default が改行後に現れるようにすることをお勧めします。 表 \begin_inset CommandInset ref LatexCommand ref reference "tab:xtable-demo" nolink "false" \end_inset のコード組に手動で空行が追加されているのは、このためです。 \end_layout \begin_layout Section リソース \end_layout \begin_layout Standard Sweaveの利用者の手引きは \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://stat.ethz.ch/R-manual/R-devel/library/utils/doc/Sweave.pdf \end_layout \end_inset にあります。 「Reproducible Research」にあるCRANタスクビューには、便利と思われるSweave関連パッケージの一覧があります。 \begin_inset Flex URL status collapsed \begin_layout Plain Layout http://cran.r-project.org/web/views/ReproducibleResearch.html \end_layout \end_inset をご覧ください。 \SpecialChar LyX とSweaveに関する質問は、\SpecialChar LyX メーリングリスト( \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.lyx.org/MailingLists \end_layout \end_inset )に投稿してください。 さらに多くの\SpecialChar LyX の用例は、 \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://github.com/yihui/lyx \end_layout \end_inset にあります。 \end_layout \begin_layout Section FAQ \end_layout \begin_layout Subsection Sweaveをbeamerで使うにはどうすればよいでしょうか \end_layout \begin_layout Standard beamerのスライドでSweaveを使うと、\SpecialChar LyX では\SpecialChar LaTeX エラーが発生します。 その原因は、生のRコードを含むbeamerフレームのせいです。 これを解決するには、通常のフレームの代わりに脆弱フレームを使うか、フレーム表題に \family sans 挿入\SpecialChar menuseparator フレームオプション \family default を使って、 \family typewriter fragile \family default オプションを渡します。 \end_layout \begin_layout Subsection Rnw文書をコンパイルするためのRスクリプトを書いてもいいですか \end_layout \begin_layout Standard もちろんです。 まず、前述のRスクリプト \family typewriter $$s \family sans /scripts/lyxsweave.R \family default がどのように動作するかを理解する必要がありますので、できればそのRソースコードを読むことをお勧めします(特に、Rがパスをどのように取得し、Rnw文書を取り扱うのに \emph on Sweave() \emph default をどのように使っているかを見てください)。 その後、カスタマイズした \family sans lyxsweave.R \family default をあなたの \emph on ユーザーディレクトリ \emph default (ヘルプ\SpecialChar menuseparator \SpecialChar LyX についてでチェックできます)の \family sans scripts \family default ディレクトリ下に置いてください。 \SpecialChar LyX は自身の \emph on ライブラリディレクトリ \emph default を見に行く前に \emph on ユーザーディレクトリ \emph default をチェックしますので、Rスクリプト \family sans lyxsweave.R \family default がユーザーディレクトリで検出されれば、それが使用されます。 \SpecialChar LyX ライブラリディレクトリ下にあるスクリプトを直接ハックしてしまうと、\SpecialChar LyX 更新時に修正したスクリプトが上書きされてしまいます(ユーザーディレクトリは影響を受けません)ので、お勧めしません。 \end_layout \begin_layout Standard なお、Rの公式Sweaveの他に、Sweaveの代替ツールである \series bold knitr \series default パッケージもサポートされており、対応するモジュール名は \family sans Rnw (knitr) \family default となっています。 \end_layout \end_body \end_document