1 References


2 ドキュメント出力形式を指定する(YAMLヘッダーの編集)。



  ---
  title: <span style="font-style:italic">Rmarkdown</span>の書き方
  author: "S.Konishi"
  date: "2020-02-26"
  abstract: "Rmarkdownの書き方を調べたその都度に、追記していく。htmlドキュメントを想定している。"
  output:
    html_document:
      css: style.css
      highlight: pygments
      theme: cerulean
      df_print: kable
      toc: true
      toc_depth: 2
      toc_float: 
        collapsed: true
        smooth_scroll: true
      number_section: true
      code_folding: hide
  ---
      

3 css



body{ /* Normal  */
      font-size: 13px;
  }
td {  /* Table  */
  font-size: 12px;
}
h1.title {
  font-size: 26px;
}

h1 { 
  font-size: 22px;
}

h2 { 
  font-size: 18px;
  color: dimgray;
}
h3 { 
  font-size: 16px;
  color: dimgray;
}

4 chunkオプション


5 ドキュメント書式


5.1 箇条書き

  • item 1
    • sub 1
  • item 2
    • sub 1
      • sub-sub 1
      • sub-sub 2
  • item 3
* item 1   
    + sub 1
    
* item 2
    + sub 1
        - sub-sub 1   
        - sub-sub 2
* item 3    

  • item1
    • sub1
      • sub-sub1
      • sub-sub2
  • item2
    • sub2
- item1
  - sub1
    - sub-sub1
    - sub-sub2
- item2
  - sub2

  1. ordered
  2. ordered
    1. sub 1
    2. sub 2
      1. sub-sub-item 1
      2. sub-sub-item 2
1. ordered   
2. ordered      
      i) sub 1    
      ii) sub 2
          A.  sub-sub-item 1   
          B.  sub-sub-item 2   

  1. ordered 1
  2. ordered 2
(@)  ordered 1
(@)  ordered 2 

5.2 特殊文字

  • 太字はアスタリスク2つで囲む
  • 訂正線は波線2つで囲む。
  • イタリックはアスタリスク1つで囲む。Cricetulus griseus
  • 下付き文字は波線1つで囲むH2O2
  • 上付き文字はキャレット(^)で囲む O2.-
  • Horizontal Rule / Page Break 3つ以上のアスタリスクまたはダッシュ


* 太字は**アスタリスク2つ**で囲む
* 訂正線は~~波線2つ~~で囲む。
* イタリックはアスタリスク1つで囲む。*Cricetulus griseus* 
* 下付き文字は波線1つで囲むH~2~O~2~
* 上付き文字はキャレット(^)で囲む O~2~^.-^
* htmlリンク[Rpubs](http://rpubs.com/)
* Horizontal Rule / Page Break 3つ以上のアスタリスクまたはダッシュ  

***  
---  

5.3 htmlリンク

  • htmlリンクRpubs
     [Rpubs](http://rpubs.com/) 

5.4 インラインコードの実行

  • Wed Feb 26 19:13:11 2020
     ` r date() ` 

5.5 数式の記述

  • LaTeXの書き方と同じ

6 項目をタブで分割



# 項目をタブで分割 {.tabset}
## A
(tab content)

## B
(tab content)
   

7 データフレームを整形出力


7.1 knitr::kableを用いる場合

  • format “latex”, “html”, “markdown”, “pandoc”, “rst”,
  • align “l” (left), “c” (center), “r” (right)
  • chunk optionのresults="asis"を指定、そのまま出力。
  • padding
  • markdown形式だとcaptionがつかない?
html
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
pandoc
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

7.2 kableExtraを用いる場合

  • kable_stylingで体裁を変える。
  • bootstrap_options “striped”, “bordered”, “hover”, “condensed” and “responsive.”
  • 2つのデータテーブルをposition="float_left"position="right"と、それぞれすることでside-by-sideで並べることができる。
  • codeの部分が邪魔になるのでチャンクオプションでecho=Fにしてデータテーブルを表示させる。
striped
count spray
10 A
7 A
20 A
14 A
14 A
12 A
bordered
mpg cyl disp
Mazda RX4 21.0 6 160
Mazda RX4 Wag 21.0 6 160
Datsun 710 22.8 4 108
Hornet 4 Drive 21.4 6 258
Hornet Sportabout 18.7 8 360
Valiant 18.1 6 225
hover
Fertility Agriculture Examination
Courtelary 80.2 17.0 15
Delemont 83.1 45.1 6
Franches-Mnt 92.5 39.7 5
Moutier 85.8 36.5 12
Neuveville 76.9 43.5 17
Porrentruy 76.1 35.3 9

7.3 formattableを用いる場合

  • formattable テーブルの体裁はlistで設定
  • color_bar 変数の範囲でカラーバー表示
  • color_tile 変数の範囲で指定した色で塗りつぶす(テーブルをheatmapにする)
  • formatter
irisデータ(平均)
Species Sepal.Length Sepal.Width Petal.Length Petal.Width
setosa 5.006 3.428 1.462 0.246
versicolor 5.936 2.770 4.260 1.326
virginica 6.588 2.974 5.552 2.026

7.4 DTパッケージを用いる場合

  • DT::datatable

7.5 xtableを用いる(pdfで書き出す場合)


8 Pythonコードチャンク


8.1 reticulate

  • Pythonのモジュールや関数がR上で利用可能.

8.2 Pythonチャンクで定義した変数をrチャンクで呼び出す

```{python}
  x = 10
``` 
```{r} 
py$x 
```

8.2.1 python

8.2.2 R

## [1] 10

8.3 rチャンク内で定義した変数をpythonチャンクで呼び出す

```{r}
py$y = 1:5
```
```{python}
print(py$y )
```

8.3.1 R

8.3.2 Python

## [1, 2, 3, 4, 5]

9 環境


## R version 3.5.2 (2018-12-20)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.6
## 
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] ja_JP.UTF-8/ja_JP.UTF-8/ja_JP.UTF-8/C/ja_JP.UTF-8/ja_JP.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] reticulate_1.13     DT_0.8              formattable_0.2.0.1
## [4] dplyr_0.8.3         kableExtra_1.1.0   
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_1.0.3        later_0.8.0       pillar_1.4.2     
##  [4] compiler_3.5.2    highr_0.8         tools_3.5.2      
##  [7] zeallot_0.1.0     digest_0.6.23     lattice_0.20-38  
## [10] jsonlite_1.6      evaluate_0.14     tibble_2.1.3     
## [13] lifecycle_0.1.0   viridisLite_0.3.0 pkgconfig_2.0.3  
## [16] rlang_0.4.2       Matrix_1.2-17     shiny_1.3.2      
## [19] rstudioapi_0.10   crosstalk_1.0.0   yaml_2.2.0       
## [22] xfun_0.9          stringr_1.4.0     httr_1.4.1       
## [25] knitr_1.24        xml2_1.2.2        htmlwidgets_1.3  
## [28] vctrs_0.2.1       hms_0.5.1         grid_3.5.2       
## [31] webshot_0.5.1     tidyselect_0.2.5  glue_1.3.1       
## [34] R6_2.4.1          pacman_0.5.1      rmarkdown_1.15   
## [37] purrr_0.3.3       readr_1.3.1       magrittr_1.5     
## [40] promises_1.0.1    backports_1.1.5   scales_1.1.0     
## [43] htmltools_0.3.6   assertthat_0.2.1  rvest_0.3.4      
## [46] xtable_1.8-4      mime_0.7          colorspace_1.4-1 
## [49] httpuv_1.5.1      stringi_1.4.3     munsell_0.5.0    
## [52] crayon_1.3.4