ユーザ用ツール

サイト用ツール


メモ:rmarkdown

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
メモ:rmarkdown [2020/05/05 12:29] – 作成 adminメモ:rmarkdown [2020/05/12 10:56] – [Loopでチャンク作成] admin
行 30: 行 30:
   - \setpagelayout * {margin=20mm}   - \setpagelayout * {margin=20mm}
   - \renewcommand{\baselinestretch}{0.9}   - \renewcommand{\baselinestretch}{0.9}
 +  - 
   - \usepackage[compact]{titlesec}   - \usepackage[compact]{titlesec}
-  - \titlespacing*{\section}{0pt}{*0}{0pt+  - \titlespacing{\section}{0pt}{5pt}{3pt
-  - \titlespacing*{\subsection}{0pt}{*0}{0pt}+  - \titlespacing{\subsection}{0pt}{5pt}{3pt} 
 +  - 
   - \renewcommand{\labelitemi}{■}   - \renewcommand{\labelitemi}{■}
   - \renewcommand{\labelitemii}{$\circ$}   - \renewcommand{\labelitemii}{$\circ$}
行 49: 行 51:
   - \setlength{\@fpsep}{8pt}   - \setlength{\@fpsep}{8pt}
   - \setlength{\@fpbot}{0pt plus 1fil}   - \setlength{\@fpbot}{0pt plus 1fil}
 +  - \makeatother
 +  
 +  - \makeatletter
 +  - \renewcommand{\theequation}{% 式番号の付け方
 +  - \thesection-\arabic{equation}}
 +  - \@addtoreset{equation}{section}
 +  - \renewcommand{\thefigure}{% 図番号の付け方
 +  - \thesection-\arabic{figure}}
 +  - \@addtoreset{figure}{section}
 +  - \renewcommand{\thetable}{% 表番号の付け方
 +  - \thesection-\arabic{table}}
 +  - \@addtoreset{table}{section}
   - \makeatother   - \makeatother
      
行 91: 行 105:
      
   ```   ```
 + 
 +
 +===== パラグラフ間の余白(パラグラフ送り) =====
 +
 +パラグラフ間の字送り(余白)の設定。標準では1行空きになっているようだ。全体の設定を変更するにはヘッダ部分に以下を記述。
 +
 +  
 +  - \setlength{\parskip}{1.5em}
 +
 +
 ===== Loopでチャンク作成 ===== ===== Loopでチャンク作成 =====
 図表を連続して作成する場合など、チャンク内のLoopから別のチャンクを生成したい場合がある。 図表を連続して作成する場合など、チャンク内のLoopから別のチャンクを生成したい場合がある。
  
-まずテンプレートとなるチャンクを作成する。ループで回すように、必要な個所は変数化し該当箇所を「{{変数名}}」にしておく。以下の例では、チャンク名とキャプション、ggplotのy軸に使う変数名を外部から与えるパラメータにした。+まずテンプレートとなるチャンクを作成する。ループで回すように、必要な個所は変数化し該当箇所を「%%{{%%変数名%%}}%%」にしておく。以下の例では、チャンク名とキャプション、ggplotのy軸に使う変数名を外部から与えるパラメータにした。
  
   ```{r チャンク名_{{prm_chankname}}, fig.cap="{{fig_name}}", out.width="90%", fig.asp=0.45, fig.align="center"}   ```{r チャンク名_{{prm_chankname}}, fig.cap="{{fig_name}}", out.width="90%", fig.asp=0.45, fig.align="center"}
   ggplot(data=DAT, aes(x=時間, y={{target_var}}) +   ggplot(data=DAT, aes(x=時間, y={{target_var}}) +
   geom_line() ...   geom_line() ...
 +  
   ```   ```
  
行 144: 行 168:
  
 こちらではは「\」が3つ必要。おそらく1つ目はLatexコード認識のため、2つ目は3つ目の「\」のためのエスケープ。 こちらではは「\」が3つ必要。おそらく1つ目はLatexコード認識のため、2つ目は3つ目の「\」のためのエスケープ。
 +
 +===== テーブルの5行ごとに縦スペースを追加(しない) =====
 +Rで作成した表は、knitr::kableおよびkableExtrパッケージを利用すると、比較的容易に美しくPDFに出力できる。
 +
 +Latexの機能かRmarkdown、pandocの機能かは調べていないが、標準ではLatexに変換した段階で表の5行ごとに\addlinespaceが入っている。場合によっては等間隔にしたい。これを解除するためには、kableに以下のようにオプションを渡す。
 +
 +  kable(...., linesep="")
 +
 +linesep=""はkableのヘルプに記載されいないが、kable_latexに引数がそのまま渡されて解除されるようだ。
 +
 +===== テーブルなどのラベルを改行する =====
 +
 +Latexに変換するときに改行を保持するための関数を使わないと、R側の改行が無視される。
 +
 +  col.names = linebreak(c("男性","女性","クラス\n全体"))
 +
 +このように、改行「\n」が入った文字列やベクトルをlinebreakに渡してやるとよい。
  
  
メモ/rmarkdown.txt · 最終更新: 2023/06/22 11:00 by Wiki Editor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki