2012-08-29 5 views
36

Ich habe ein Problem mit Textumbruch in Code-Output-Chunks in Knitr beim Stricken nach HTML.knitr: Wie verhindert man das Umbrechen von Text in der Ausgabe?

Zum Beispiel, wenn ich laufen die folgenden:

matrix(rnorm(60, 5, 2), ncol = 12) 

Die Ausgabe in HTML wird die Tabelle wickeln, eine Ausgabe wie diese geben, wo die 12. Spalte unterhalb der Rest bewegt wird:

##  [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] 
## [1,] 3.407 0.8035 2.981 5.269 6.989 5.107 7.143 3.127 3.624 7.220 4.805 
## [2,] 3.907 5.5971 5.488 4.995 6.496 5.980 1.576 3.009 6.605 3.440 2.754 
## [3,] 1.945 3.7668 4.860 2.945 3.663 5.945 7.168 2.012 5.873 8.190 7.441 
## [4,] 4.893 6.2054 4.403 3.967 2.880 7.196 1.813 3.283 5.216 5.699 2.829 
## [5,] 5.706 0.9084 5.802 1.404 3.122 1.866 6.613 3.299 4.990 3.645 3.766 
##  [,12] 
## [1,] 0.3951 
## [2,] 4.0866 
## [3,] 5.9293 
## [4,] 6.4729 
## [5,] 2.7172 

Gibt es eine Methode, um die Breite des Ausgabe Chunk anzupassen, so dass ich eine Tabelle haben kann, wo die Zeilen alle auf einer Zeile erscheinen, so?

##  [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] 
## [1,] 3.407 0.8035 2.981 5.269 6.989 5.107 7.143 3.127 3.624 7.220 4.805 0.3951 
## [2,] 3.907 5.5971 5.488 4.995 6.496 5.980 1.576 3.009 6.605 3.440 2.754 4.0866 
## [3,] 1.945 3.7668 4.860 2.945 3.663 5.945 7.168 2.012 5.873 8.190 7.441 5.9293 
## [4,] 4.893 6.2054 4.403 3.967 2.880 7.196 1.813 3.283 5.216 5.699 2.829 6.4729 
## [5,] 5.706 0.9084 5.802 1.404 3.122 1.866 6.613 3.299 4.990 3.645 3.766 2.7172 

Vielen Dank!

+5

Dies ist nicht wirklich ein Problem, und es ist nicht 'Knitr'-basierte genau. Wenn Sie 'options()' auf der Konsole ausführen, würden Sie wahrscheinlich sehen, dass das letzte Element '$ width' ist, und auf meinem System ist das auf' '87' 'gesetzt, was zu dieser Art von Wrapping führen wird. – A5C1D2H2I1M1N2O1R2T1

Antwort

37

Wenn Sie Ihrem Dokument etwas wie options(width=120) hinzufügen, können Sie die standardmäßige Verpackungsbreite überschreiben.

Seien Sie vorsichtig, aber gehen Sie zu weit; Bei der Konvertierung in PDF oder andere Formate ist die Standardeinstellung ziemlich genau richtig!

Als Beispiel verwende ich Knitr von RStudio, und geben Sie mein Dokument als R-Abschrift Dokument. Mein Dokument „options“ am Anfang könnte wie folgt sein:

```{r set-options, echo=FALSE, cache=FALSE} 
options(width=80) 
opts_chunk$set(comment = "", warning = FALSE, message = FALSE, echo = TRUE, tidy = TRUE, size="small") 
read_chunk("some/script/I/want/to/load.R") 
``` 
+0

Vielen Dank für Ihre schnelle Antwort. Ich wollte die Breite der Ausgabe anpassen, um den Bericht leichter lesen zu können. Die Textbrocken über und unter der Ausgabe waren viel breiter als die oben eingewickelte Tabelle, selbst bei Druckbreite. – susjoh

+2

@susjoh das wird erwartet; 'options ('width')' gilt nicht für die Textausgabe width _precisely_, also manchmal müssen Sie vorübergehend die 'width' Option für einen bestimmten Chunk –

+7

einstellen Wenn ich' Optionen (width = X) 'es scheint zu haben kein Effekt beim Erstellen von Berichten in RStudio. Ich verwende RStudio 0.99.467 und Knitr 1.11. Zuvor funktionierte 'width' in' options' wie erwartet. Hat sich etwas geändert (oder ist es ein Benutzerfehler)? Meine Ausgabe ist auf 120 Zeichen festgelegt. – geneorama

Verwandte Themen