web-dev-qa-db-ja.com

Rmarkdown / knitでRコードを非表示にし、結果を表示する

R Markdownドキュメントでは、実際のコードを表示せずにレポートを生成したい場合があります(特に上司に送信する場合)。 Rコードを非表示にして、グラフと結果を表示するにはどうすればよいですか?

例えば:

---
output: html_document
---

```{r fig.width=16, fig.height=6}
plot(cars)
```

これにより、コマンドとプロットの両方が表示されます。 HTMLレポートからコマンドを削除するにはどうすればよいですか?

53
Mark

確かに、ただやる

```{r someVar, echo=FALSE}
someVariable
```

(以前に計算された)変数someVariableを表示します。または、ppなどを出力するコードを実行します。

だからプロットするために、例えば

### Impact of choice of ....
```{r somePlot, echo=FALSE}
plotResults(Res, Grid, "some text", "some more text")
```

ここで、プロット関数plotResultsはローカルパッケージからのものです。

62

また、使用できることを知るのも面白いかもしれません:

{r echo=FALSE, results='hide',message=FALSE}
a<-as.numeric(rnorm(100))
hist(a, breaks=24)

あなたが与えるすべてのコマンド、それが吐き出すすべての結果、およびRによって吐き出されるすべてのメッセージ情報を除外するために(例えば、library(ggplot)または何かの後)

46
Geoffrey Stoel

答えを集約し、基本を拡張するだけです。次の3つのオプションがあります。

1)コードを隠す(個々のチャンク)

echo=FALSEをチャンクヘッダーに含めることができます。

```{r echo=FALSE}
plot(cars)
```

2)チャンクを非表示にします(グローバル)。

knitr::opts_chunk$set関数を使用して、knitrのデフォルトの動作を変更できます。ドキュメントの最初にこれを呼び出し、include=FALSEをチャンクヘッダーに含めて、出力を抑制します。

---
output: html_document
---

```{r include = FALSE}
knitr::opts_chunk$set(echo=FALSE)
```

```{r}
plot(cars)
```

3)折りたたまれたコードチャンク

HTML出力の場合、コードの折りたたみを使用して、出力ファイル内のコードを非表示にすることができます。コードは引き続き含まれますが、ユーザーがこれをクリックすると表示されます。これについてさらに読むことができます こちら

---
output:
  html_document:
    code_folding: "hide"
---


```{r}
plot(cars)
```

enter image description here

11
Michael Harper

または、標準のマークダウンドキュメント(コードブロックなし自体)をその場で解析することもできます markdownreports package によって。

1
bud.dugong