tab実験

Markdownによるタブ表示を実行してみましょう.

まず,デモ用に適当な計算コードを書きます.

(以下,私が編集中のRmdファイルから適当な関数をコピペしています. 中身は無視してください)

sec<-function(n,k){
  candidates=runif(n);# n人の得点ベクトル
  no1_temp=max(candidates[1:k]);#k人までのベストを記録
  selected=0; #k+1人以降に no1_tempを超える人がいたら格納する変数. 初期値は0
  s=k+1; #カウンタ用変数の定義.k+1人目からサーチ
  while(candidates[s]<no1_temp &  s<n ) { #条件を満たす限りループ
    s=s+1;selected=candidates[s]} # candidates[s]>no1_temp でループ終了. 
  # ここでカウンタsは代入の前に進める.
  # selectedには最初のcandidates[s]>no1_tempを満たすcandidates[s] が格納される
  if(selected==max(candidates)){1}else{0} #selectedがmax(candidates)に一致するかどうか判定
}; 
test<-function(n,t,s0,s1){
  x <- c()   # 空の(要素数ゼロの)リストを作る
  for (i in s0:s1) {
    y <- mean(replicate(t,sec(n,i))) #
    x <- c(x,  y)   }#結果ベクトルに追加していく
  x}

計算結果比較

上で定義した関数の計算結果を,いくつか条件を変えながら比較してみましょう.

上位レベルの見出し(ここでは##)に{.tabset}というコードを書くだけでhtml内にタブ表示の切り替えができます.

タブは下位レベルの見出し(ここでは###)で区切ります.

test(n=100,t=50,s0=1,s1=100)

out<-test(n=100,t=50,s0=1,s1=100)
plot(out)

test(n=100,t=100,s0=1,s1=100)

out<-test(n=100,t=100,s0=1,s1=100)
plot(out)

test(n=100,t=500,s0=1,s1=100)

out<-test(n=100,t=1000,s0=1,s1=100)
plot(out)

コード

上のタブ部分のコードは


## 計算結果比較 {.tabset}

### 条件1

 ```{r }
plot(out1)
```
 
### 条件2
 
 ```{r }
plot(out2)
```

### 条件3
 
 ```{r }
plot(out3)
```

という感じで書いています.

以下のブログに簡単な解説が書いてあります.

[https://blog.rstudio.org/2016/03/21/rmarkdown-v0-9-5/]

メモ

こんな風に一つの関数についてパラメータの影響を比較したいときタブで表示すると見やすいですよ.