Supresión de mensajes en Knitr / Rmarkdown
Aquí está el código para mi archivo RMarkdown:
```{r echo=FALSE, message=FALSE}
opts_chunk$set(comment = NA, echo=FALSE, message = FALSE, warnings = FALSE)
options("getSymbols.warning4.0"=FALSE)
Sys.setenv(TZ = "GMT")
library(quantmod)
library(xtable)
library(PerformanceAnalytics)
```
```{r}
getSymbols("^RUT")
chart.TimeSeries(RUT)
dev.off()
```
A pesar de la configuración message = FALSE, warnings = FALSE
, todavía estoy recibiendo mensajes de salida en el archivo HTML cuando corro getSymbols()
y dev.off()
. Sus respectivos productos son:
[1] "RUT"
Y
null device
1
¿Cómo puedo suprimir estos mensajes?
3 answers
Intente usar invisible
para suprimir esos tipos de salida.
```{r}
invisible(getSymbols("^RUT"))
chart.TimeSeries(RUT)
invisible(dev.off())
```
Desde la página de ayuda para ?invisible
:
Esta función puede ser útil cuando se desea que las funciones devuelvan valores que se pueden asignar, pero que no se imprimen cuando no se asignan.
Ninguno de estos son "mensajes" o "advertencias", sino valores de salida reales. Verás que los mensajes para getSymbols
son, de hecho, suprimidos por knitr en la salida.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-14 10:11:46
Nunca debería necesitar usar dev.off()
cuando use knitr
. Se encarga de todos los dispositivos para crear gráficas.
Del autor del paquete Yihui
null device
1
Es la salida de dev.off()
.
Puede ser que getSymbols
devuelva algo dado que no ha definido env
Si desea ocultar los resultados (output
) (en general) puede utilizar results = 'hide'
como una opción. No hay necesidad de envolver nada en invisible()
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-15 22:28:42
Encontré con este problema, me gustaría añadir que debería ser warning = FALSE,
no warnings = FALSE
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-17 02:55:24