2012-08-29 17 views
36

Tengo un problema con el ajuste del texto en los fragmentos de salida de código en knitr cuando se teje en HTML.knitr: ¿Cómo evitar el ajuste del texto en la salida?

Por ejemplo, si se me acaba el siguiente:

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

La salida en HTML envolverá la mesa, dando una salida como esta, donde la columna 12 se mueve por debajo del resto:

##  [,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 

¿Hay un método para ajustar el ancho del fragmento de salida, de modo que pueda tener una tabla donde las filas aparezcan todas en una línea, como ese?

##  [,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 

¡Gracias!

+5

Esto no es realmente un problema, y ​​no es Knitr' basado en 'exactamente. Si ejecuta 'options()' en la consola, probablemente verá que el último elemento es '$ width', y en mi sistema, está configurado en" '87'", lo que dará lugar a este tipo de ajuste. – A5C1D2H2I1M1N2O1R2T1

Respuesta

37

Agregar algo como options(width=120) a su documento le permitiría anular el ancho de envoltura predeterminado.

Ten cuidado con ir demasiado ancho; Al convertir a PDF u otros formatos, el valor predeterminado es bastante correcto.

Como ejemplo, utilizo Knitr de RStudio, y escribo mi documento como un documento de rebaja de R. Mi documento "options" al principio puede ser algo como esto:

```{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

Gracias por su respuesta rápida. Quería ajustar el ancho de la salida para facilitar la lectura del informe. Los fragmentos de texto por encima y por debajo de la salida eran mucho más anchos que la tabla envolvente anterior, incluso en el ancho de impresión. – susjoh

+2

@susjoh que se espera; 'options ('width')' no se aplica al ancho de salida de texto _precisamente_, por lo que a veces es necesario ajustar temporalmente la opción 'width' para un determinado fragmento –

+7

Cuando configuro' options (width = X) 'parece tener no tiene efecto al compilar informes en RStudio. Estoy usando RStudio 0.99.467 y knitr 1.11. Previamente, el ajuste 'width' en' options' funcionaba como se esperaba. ¿Ha cambiado algo (o es un error del usuario)? Mi salida está fijada alrededor de 120 caracteres. – geneorama

Cuestiones relacionadas