Si ejecuto el script R bajo la línea de comando (en realidad lo ejecuto desde VBA), ¿cómo puedo enviar mensajes de error/advertencia a un txt ¿archivo?Error de salida/registro de advertencia (archivo txt) al ejecutar el script R en la línea de comando
Error de salida/registro de advertencia (archivo txt) al ejecutar el script R en la línea de comando
Respuesta
Puede usar sink()
para desviar mensajes y advertencias a un archivo. El truco consiste en establecer el argumento type="message"
:
Aquí es un ejemplo adaptado de la ayuda para ?sink
:
setwd(tempdir())
## capture messages and errors to a file.
zz <- file("all.Rout", open="wt")
sink(zz, type="message")
try(log("a"))
## reset message sink and close the file connection
sink(type="message")
close(zz)
## Display the log file
readLines("all.Rout")
[1] "Error in log(\"a\") : Non-numeric argument to mathematical function"
¡Cosas geniales, gracias! – Joyce
Sin embargo, ¿cómo puedo cerrar la conexión con el archivo de registro? Probé sink(), pero cuando quiero eliminar el archivo de registro, no puedo eliminarlo, ya que parece que todavía hay conexión. Solo después de que cerré mi R, puedo borrar eso. ¿Cómo debo cerrar la conexión? – Joyce
Esto se debe a que en la respuesta original, el receptor no finalizó con 'type =" message "' y la conexión no se cerró. (Solucionado en la respuesta actualizada) – Jthorpe
Para cerrar la conexión con el archivo de registro tiene que usar sink(type="message")
en lugar de sink()
y luego close(zz)
.
(no tengo la reputación suficiente para utilizar la función de complemento comentario)
- 1. Error de punto de entrada al ejecutar el script PHP desde la línea de comando
- 2. Ejecutar script SQL desde la línea de comando
- 3. Ignorar advertencia de seguridad en ejecutar el script desde la línea de comandos
- 4. R números de línea de script en el error?
- 5. Problema al ejecutar el script oracle desde la línea de comando usando sqlplus
- 6. ejecutar comando/script al bloquear/desbloquear la estación de Windows?
- 7. Error al ejecutar comandos svn en la línea de cmd
- 8. Script R: Determine si el script se ejecuta en la GUI o desde la línea de comando
- 9. yii error al ejecutar el comando personalizado
- 10. Ejecutar el script de PowerShell desde C# con los argumentos de la línea de comando
- 11. Ejecutar comando de línea de comando desde NSIS
- 12. Ejecutar un script bash desde un script R
- 13. Ejecutar línea de comandos en WiX Script?
- 14. R ¿Números de línea de scripts al error?
- 15. Maven + Mercurial: Error al ejecutar la etiqueta de comando
- 16. Ejecutar el comando de línea de comando interactivo usando C#
- 17. tratando de ejecutar el comando git usando el script python
- 18. Ejecutar archivo jar con argumentos de línea de comando
- 19. Pasar variable al script php que se ejecuta desde la línea de comando
- 20. ¿Cómo ejecutar el código PHP desde la línea de comando?
- 21. ejecutar la aplicación de línea de comando interactiva desde java
- 22. Ejecutar el comando vim desde la línea de comandos
- 23. Ejecutar el script de Python en el archivo seleccionado
- 24. Archivo por lotes para agregar caracteres al principio y al final de cada línea en el archivo txt
- 25. escribiendo salida de línea de comando en el archivo
- 26. Quiero ejecutar el archivo de caso de prueba de Selenium desde la línea de comando
- 27. Línea de comando para ejecutar la tarea Ant con guión en el nombre de la tarea
- 28. Cómo ejecutar el script de shell en R y obtener el resultado en la tabla?
- 29. ¿Cómo ejecutar script bash línea por línea?
- 30. Powershell Ejecutar el exe remoto con argumentos de la línea de comando en la computadora remota
¿Qué tal yourprogram.exe> anoutputfile.txt? Aunque eso captura todo. En * nix puede dirigir stderr, no está seguro acerca de Win *. Consulte http://stackoverflow.com/questions/1109017/how-do-you-print-to-stderr-in-r – Pete855217
Posiblemente pueda usar 'sink()' – Andrie
Gracias. Traté de buscar en la web cómo usar sink en R pero me confundí un poco sobre cómo mostrar el mensaje de error/advertencia en mi caso. ¿Te importaría darme un ejemplo rápido de cómo hacer eso? Gracias de nuevo. – Joyce