如何制作一个R-session的日志文件,它结合了来自R-console的命令,结果和警告/消息/错误

 lovely夏的宠儿 发布于 2023-01-31 19:16

我想生成一个日志文件,它跟踪R控制台中的所有命令(stdin),结果(stdout)和错误/警告/消息(stderr).

我知道有很多日志包,我尝试了几个TeachingDemos(似乎完全忽略了stderr)或R2HTML(似乎忽略了消息),然而,它们似乎都没有包含来自stderr的所有东西.

只有knitr并且markdown似乎能够将所有内容都包含在一个文件中.但是使用这种解决方法,我必须编写R脚本,我无法在控制台中自由编写命令.
此外,我不能将knitror或markdown命令包含在同一个R脚本中(这当然是一个小问题).

这是一个例子:

library(TeachingDemos)
library(R2HTML)    
library(TraMineR)

logdir <- "mylog.dir"

txtStart(file=paste(logdir,"test.txt", sep=""), commands=TRUE, 
         results=TRUE, append=FALSE)
HTMLStart(outdir = logdir, file = "test", echo=TRUE, HTMLframe=FALSE)

## Messages, warnings and errors
message("Print this message.")
warning("Beware.")
"a" + 1
geterrmessage()

## Some example application with the TraMiner package 
## which uses messages frequently
data(mvad)
mvad.seq <- seqdef(mvad[, 17:86])
mvad.ham <- seqdist(mvad.seq, method="HAM")

txtStop()
HTMLStop()

flodel.. 9

如果您从Unix/Linux/Mac /等运行R.终端,你可以这样做:

R | tee mydir/mylog.txt

在Windows上,您可以运行脚本

R CMD BATCH yourscript.R

并且您的结果将显示在与yourscript.out相同的文件夹中

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有