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. >>> >>> >>>