2017-07-26 8 views
0

Wie kann ich Teile eines Chunks in Rmarkdown weglassen?Teil des R-Codes in Rmarkdown ausblenden

Zum Beispiel:

```{r echo T, eval = T} 
df <- readRDS("yourfile.RDS") 
df <- readRDS("secretfile.RDS") ### NEED TO OMIT THIS PART ONLY 
df 
``` 

Ich bin mir der include = F oder echo = F Optionen, aber das würde entweder die Ausgabe von df oder lassen Sie den Code ganz weglassen.

Alternativ könnte ich tun:

```{r echo T, eval = F} 
df <- readRDS("yourfile.RDS") 
``` 
```{r echo = F, eval = T} 
df <- readRDS("secretfile.RDS") ### NEED TO OMIT THIS PART ONLY 
``` 
```{r eval = T, echo = T} 
df 
``` 

Aber das ist ein klobig Weg, es zu tun, und es hackt die Codeblöcke. Die Ausgabe sollte wie folgt aussehen:

df <- readRDS("yourfile.RDS") 
df 

Mit der Ausgabe von df folgen.

Danke!

Bearbeiten: "yourfile.RDS" ist ein Platzhalter für Demonstrationszwecke in meinem Dokument. Daher kann die Codezeile df <- readRDS("yourfile.RDS") nicht ausgewertet werden.

+0

Wenn Sie nicht den Code mit "yourfile.RDS" bewerten, warum nicht den geheimen, ausgewerteten Code an der Spitze? Auf diese Weise vermeidest du nicht deine Formatierung. –

+0

Hallo, ich muss 'readRDS (" secretfile.RDS ")' weglassen. Es gibt einige Parameter, die aus Datenschutzgründen nicht in einem Dokument angezeigt werden sollten. Die Idee ist, zu zeigen, wie man diesen Prozess mit dem gleichen Namen 'df' für die Daten durchführt. Deshalb kann ich die Datei nicht einmal lesen ('' '' {r include = F} df <- readRDS ("secretfile.RDS") "' ''. – JdM

+1

Ja, was ich sage ist, dass du es kannst verstecken Sie den Code, aber legen Sie ihn über den unevaluierten Codeblock, dann können Sie nach dem unevaluierten Codeblock (der angezeigt wird) einen anderen ausgewerteten, aber versteckten Codeblock erstellen, der Ihren df zurückgibt –

Antwort

1

Sie können den Code ausblenden, aber über den nicht bewerteten Codeblock stellen. Dann können Sie nach dem unausgewerteten Codeblock (der angezeigt wird) einen anderen ausgewerteten, aber versteckten Codeblock erstellen, der Ihr df zurückgibt.

Zum Beispiel:

```{r echo = F, eval = T} 
df <- readRDS("secretfile.RDS") ### NEED TO OMIT THIS PART ONLY 
``` 
```{r echo = T, eval = F} 
df <- readRDS("yourfile.RDS") 
df 
``` 
```{r echo = F, eval = T} 
df 
``` 

OP hier. Danke @be_green! Nur eine leichte Verbesserung, um Ihren Code oben:

```{r echo = T, eval = F} 
df <- readRDS("yourfile.RDS") 
df 
``` 
```{r echo = F, eval = T} 
df <- readRDS("secretfile.RDS") ### NEED TO OMIT THIS PART ONLY 
df 
``` 
4

Die echo Parameternummern nehmen, nicht nur TRUE oder FALSE. Sie werden als Indizes in den Vektor der Ausdrücke im Chunk behandelt. Um die zweite Codezeile auszublenden, verwenden Sie echo = -2.

Der eval Parameter akzeptiert auch Indizes, aber es zeigt Dinge mit Kommentarmarken an, wenn Sie sie nicht auswerten lassen, so dass Sie Zeile 1 nicht (einfach?) Anzeigen können, aber Zeile 2 ausführen dies:

```{r eval=-1, echo=-2} 
a <- 1 
b <- 2 
c <- 3 
``` 

und Zeile 1 wird nicht ausgeführt. Das Stück wird angezeigt als

## a <- 1 
c <- 3 
+0

Danke @ user2554330.Ich wusste nichts über die Indizes für die Parameter "echo" und "eval". Ich kann deine Lösung jedoch nicht anwenden, weil '" yourfile.RDS "' nicht existiert, was einen Fehler verursachen würde, aber ich war in meiner Frage nicht klar, also werde ich deinen Kommentar auch überprüfen. Prost – JdM

+0

In diesem Fall könnte die Anzeige mit Kommentarmarken angemessen sein. – user2554330

+0

Danke. Prost. – JdM