okiyuki99 / HowToR

R Tips
3 stars 0 forks source link

Rmarkdown / knitr #6

Open okiyuki99 opened 6 years ago

okiyuki99 commented 6 years ago

よく使うRmarkdown Template

---
title: "TEST TITLE"
author: "gingi99"
date: '`r Sys.Date()`'
output:
  html_document:
    number_sections: true
    toc: true
    toc_float: false
    fig_width: 7
    fig_height: 4.5
    fig_caption: true
    theme: cosmo
    highlight: tango
    code_folding: hide
    code_download: true
knit: (function(inputFile, encoding) { 
      rmarkdown::render(inputFile,
                        encoding=encoding, 
                        output_dir = "docs/") })
---

よく使うChunkオプション

opts_chunk$set(out.width = '\\maxwidth')
Option Default Meaning Recommend
highlight T コードハイライト highlight=T
out.width NULL out.width='\\maxwidth'
tidy F formatRのtidy_sourceでchunk内コードを整形する。使ったが逆に崩れるんだけど… tidy=F

パラメータ渡し

params:
  start_day: SSS
  end_day : EEE
<snip>

print(str(params))
print(params$start_day)
print(params$end_day)

ループでPlotを作る

```{r, results = 'asis'}
for(yt in Y){
  for(ds in D){
      g <- ggplot(...)
      cat('\n')
      cat("## Y:", yt, " D:",ds, " \n")
      print(g)
      cat('\n')
    }
  }
}

出力するディレクトリの変更

Rscript -e 'rmarkdown::render("hoge.Rmd", output_dir="hoge_dir", output_file="hoge.html")'

テンプレ

SQLチャンク

よくやるやつ

```{sql, connection = con, max.print = 10, output.var = "df"}
SELECT * FROM mtcars

変数渡し

```{sql, connection = con, max.print = 10, output.var = "df"}
SELECT * FROM mtcars LIMIT ?num

コネクション固定

library(DBI)
con <- dbConnect(odbc::odbc(), "MySQL")
knitr::opts_chunk$set(connection = "con")

参考 : 2017-02-18 RMarkdownファイルの中でSQLを実行する際のtips ~knitr language engine

できないこと

参考

okiyuki99 commented 6 years ago
okiyuki99 commented 6 years ago
okiyuki99 commented 6 years ago
okiyuki99 commented 5 years ago