如何编写R代码用于控制台输出我的分析进度?
我有以下代码用于循环遍历多个文件夹:
for (f in folder.paths){
cmd....
}
我希望在控制台中输出以下消息:“运行文件夹Sky1 ....”
谢谢
答案 0 :(得分:3)
与费尔南多的答案类似,但这里所有内容都保持不变:
for(i in 1:10) {
cat("\rWorking on", i)
Sys.sleep(1)
}
尝试一下。
答案 1 :(得分:3)
message()
可能是cat
的另一种选择。帮助(?message
)说:
message
用于生成“简单”诊断消息 既没有警告也没有错误,但仍然表示为 条件。与警告和错误不同,最终换行符被视为 消息的一部分,是可选的。
答案 2 :(得分:2)
您可以使用cat():
n.files = length(folder.paths)
for (i in 1 : n.files){
cat("proc: ", round(100*i/n.files, 1), "%", sep = "", "\n")
}
未经测试,但应该可以使用。
答案 3 :(得分:2)
使用日志包,例如logging
或futile.logger
。
为什么?
好吧,您可以定义具有不同“级别”的消息 - 信息,警告等 - 然后全局控制您是否看到这些消息。因此,您(或运行您的代码的任何人)有权在不想要的情况下看不到消息。您甚至可以为不同的函数定义不同的记录器,因此您可以关闭来自特定函数的消息,而无需进入并注释掉它们或包含一些kludgy if(loggingthis)cat("here we are\n")
代码。您甚至可以将日志消息定向到文件而不是控制台。
或强>
如果您想要显示进度,请使用进度条!基数R中有txtProgressBar
,plyr
包有一些更高级的包。只需安装plyr
并执行help.search("progress")