Xavier de Pedro
2011-Jan-25  13:07 UTC
[R-es] R por consola en modo "--quiet" incluso con "--save"
Hola:
¿Como se puede evitar que cuando se ejecuta R desde consola de sistema, 
muestre el contenido del script de R que va  a ejecutar?
Ejemplo: véase script tonto adjunto (test1.r) que muestra una cadena de 
texto:
cat("test");
Necesito ejecutarlo por consola en modo --save, pues para el caso real 
de uso necesito guardar los objetos de R en disco para poder usarlos 
posteriormente.
Actualmente lo ejecuto en la consola del sistema vía:
$ R --save --quiet 2>&1 < test1.r
pero esto produce lo que se muestra aquí debajo entre lineas de guiones:
-------------------------------------------
 > cat("test");
test>
-------------------------------------------
¿Como puedo ejecutar R por consola de forma que guarde la sesión con un 
.RData en la carpeta per sin mostrar "> cat("test");" (ni
el ">" del final)?
Xavi
------------ próxima parte ------------
An embedded and charset-unspecified text was scrubbed...
Name: test1.r
URL:
<https://stat.ethz.ch/pipermail/r-help-es/attachments/20110125/297d5d5b/attachment.pl>
miguel.angel.rodriguez.muinos en sergas.es
2011-Jan-25  13:30 UTC
[R-es] R por consola en modo "--quiet" incluso con "--save"
Hola Xavi.
Puedes probar a redirigir la salida estándar de la consola de MSDOS al fichero
Rdata directamente.
R --save --quiet 2>&1 < test1.r >mifichero.Rdata
Un Saludo,
Miguel.
-----Mensaje original-----
De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en
r-project.org] En nombre de Xavier de Pedro
Enviado el: martes, 25 de enero de 2011 14:08
Para: r-help-es
Asunto: [R-es] R por consola en modo "--quiet" incluso con
"--save"
Hola:
¿Como se puede evitar que cuando se ejecuta R desde consola de sistema, muestre
el contenido del script de R que va  a ejecutar?
Ejemplo: véase script tonto adjunto (test1.r) que muestra una cadena de
texto:
cat("test");
Necesito ejecutarlo por consola en modo --save, pues para el caso real de uso
necesito guardar los objetos de R en disco para poder usarlos posteriormente.
Actualmente lo ejecuto en la consola del sistema vía:
$ R --save --quiet 2>&1 < test1.r
pero esto produce lo que se muestra aquí debajo entre lineas de guiones:
-------------------------------------------
 > cat("test");
test>
-------------------------------------------
¿Como puedo ejecutar R por consola de forma que guarde la sesión con un .RData
en la carpeta per sin mostrar "> cat("test");" (ni el
">" del final)?
Xavi
Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos
é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se
vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A
distribución ou copia desta mensaxe non está autorizada.
Nota: La información contenida en este mensaje y sus posibles documentos
adjuntos es privada y confidencial y está dirigida únicamente a su
destinatario/a. Si usted no es el/la destinatario/a original de este mensaje,
por favor elimínelo. La distribución o copia de este mensaje no está autorizada.
See more languages: http://www.sergas.es/aviso_confidencialidad.htm
Xavier de Pedro
2011-Jan-26  16:15 UTC
[R-es] R por consola en modo "--quiet" incluso con "--save"
Hola Miguel.:
Gracias por la pista, pero de hecho me interesa mantener la salida por 
consola (la uso para mostrarla por página web, etc.). Lo único que 
quiero evitar es el "eco" de R sobre las instrucciones de la rutina
que
se está ejecutando.
En otro mensaje (fuera de lista) Luciano Selzer me ha dado otra pista 
que ahora si, se acerca muchísimo (¡gracias Luciano!), que es usar "echo 
= FALSE" (desconocía esta opción). He visto que se puede usar al inicio 
de una rutina de R con options:
options(echo=FALSE)
Ahora bien, se sigue mostrando la primera instrucción ( "> 
options(echo=FALSE)"), y a partir de ahí, eso si, R ya no hace echo del 
resto de instrucciones que recibe, solo de la salida que se le pide.
Es decir, actualizando el ejemplo de ayer, test2.r sería:
options(echo=FALSE)
cat("test");
Y al ejecutarlo en la consola del sistema vía:
$ R --save --quiet 2>&1 < test2.r
se obtiene lo que se muestra aquí debajo entre lineas de guiones:
-------------------------------------------
 > options(echo=FALSE)
test
-------------------------------------------
Así pues, ¿alguien tiene alguna otra pista de como invocar el echo=FALSE 
desde el inicio de sesión?
Xavi
P.D: Parece ser que el argumento de R "--slave" hace esto, pero de 
propina, fuerza a no poder grabar la sesión .RData en el directorio, y 
necesito poder guardarla... No sé si me explico.
On 25/01/11 14:30, miguel.angel.rodriguez.muinos en sergas.es
wrote:> Hola Xavi.
>
> Puedes probar a redirigir la salida estándar de la consola de MSDOS al
fichero Rdata directamente.
>
> R --save --quiet 2>&1<  test1.r>mifichero.Rdata
>
> Un Saludo,
> Miguel.
>
>
>
>
>
>
> -----Mensaje original-----
> De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en
r-project.org] En nombre de Xavier de Pedro
> Enviado el: martes, 25 de enero de 2011 14:08
> Para: r-help-es
> Asunto: [R-es] R por consola en modo "--quiet" incluso con
"--save"
>
> Hola:
>
> ¿Como se puede evitar que cuando se ejecuta R desde consola de sistema,
muestre el contenido del script de R que va  a ejecutar?
>
> Ejemplo: véase script tonto adjunto (test1.r) que muestra una cadena de
> texto:
>
> cat("test");
>
> Necesito ejecutarlo por consola en modo --save, pues para el caso real de
uso necesito guardar los objetos de R en disco para poder usarlos
posteriormente.
>
> Actualmente lo ejecuto en la consola del sistema vía:
>
> $ R --save --quiet 2>&1<  test1.r
>
> pero esto produce lo que se muestra aquí debajo entre lineas de guiones:
>
> -------------------------------------------
>   >  cat("test");
> test>
> -------------------------------------------
>
> ¿Como puedo ejecutar R por consola de forma que guarde la sesión con un
.RData en la carpeta per sin mostrar ">  cat("test");"
(ni el ">" del final)?
>
> Xavi
>
>
> Nota: A información contida nesta mensaxe e os seus posibles documentos
adxuntos é privada e confidencial e está dirixida únicamente ó seu
destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por
favor elimínea. A distribución ou copia desta mensaxe non está autorizada.
>
> Nota: La información contenida en este mensaje y sus posibles documentos
adjuntos es privada y confidencial y está dirigida únicamente a su
destinatario/a. Si usted no es el/la destinatario/a original de este mensaje,
por favor elimínelo. La distribución o copia de este mensaje no está autorizada.
>
> See more languages: http://www.sergas.es/aviso_confidencialidad.htm
>
Xavier de Pedro
2011-Jan-27  16:39 UTC
[R-es] R por consola en modo "--quiet" incluso con "--save"
Al final una solución sencilla para evitar el problema (gracias de nuevo, Manuel!) Saludos Xavi On 27/01/11 14:39, r-uca wrote:> El jue, 27-01-2011 a las 14:17 +0100, Xavier de Pedro escribió: >> Hola Manuel: >> >> ¡Fantástico! Me has dado la pista para evitar el problema: comentario html! >> >> ¡Ya lo he implementado a mi manera en el pluginR y funciona! (por >> cierto, parece que en mi caso faltaba un espacio en el equivalente del >> >> echo "<!-- " >> >> >> para que no se juntase con el ">" del >> >>> options(echo=FALSE) >> >> Por cierto, ¿te importa que envie esta respuesta (con tu mensaje debajo) >> a la lista? > Hola Xavi: > > Pues claro que no, mi intención fue responder a la lista, pero parece > que el botón responder a todos me repele. > > Saludos. > >> (nunca me queda claro cuando la gente me responde a mi solo) >> >> Saludos, y ¡gracias de nuevo por la pista para evitar el problema! >> >> Xavi >> >> >> On 27/01/11 10:36, r-uca wrote: >>> Hola Xavier: >>> >>> Si usas la salida para meterla dentro de una web, la solución que yo uso >>> es filtrar las salidas con grep y sed. >>> >>> Otra solución podría ser: >>> >>> Fichero test.R >>> options(echo=FALSE) >>> cat('-->') >>> cat("<b>Test (en negrita)</b>") >>> >>> Fichero test.sh >>> echo "<!--" >>> R --save --quiet 2>&1< test.R >>> >>> >>> Desde el lenguaje de programación que uses ejecutas test.sh recogiendo y >>> mostrando la salida. >>> >>> En caso de usar windows tendrías que cambiarlo a test.batch >>> >>> Para probarlo puedes usar >>> sh test.sh>a.html >>> y abrir a.html con firefox. >>> >>> Saludos. >>> >>> >>>