我想将三行文本打印到控制台,以替换当前打印的三行。 here解决方案不适用于 3 行。
我希望每次迭代都输出以下结果:
Line1
Line2
Line3
我尝试了以下操作:
for(i in 1:3){
cat('\rLine1', '\rLine2', '\rLine3')
}
输出:第3行
for(i in 1:3){
cat('\rLine1', '\nLine2', '\nLine3')
}
输出:
Line1
Line2
Line1
Line2
Line1
Line2
Line3
for(i in 1:3){
cat('\rLine1', 'Line2', 'Line3')
}
输出:Line1 Line2 Line3 Line2 Line3
请注意,acutall文本是不同的,不是line1,line2和line3,但是它实际上是函数的进度,耗时和预测的时间,但是所有变量都是字符。见
cat('\rProgress: |',rep('=',floor((i/iterations)*50)),rep(' ',50 - floor((i/iterations)*50)),'|',
'Elapsed time:', elapsedTime,
'Time left:', predictedTime,
sep = '')
实际代码太长且太复杂,因此我提供了上面的示例。所需的输出是
进度:| ================== |
经过时间:0小时,0分钟,4秒
剩余时间:0小时,0分钟,10秒
答案 0 :(得分:0)
尝试一下:
lines <- rep(c("Line1", "Line2", "Line3"), 3) # for 3 iterations
cat(lines, sep = "\n")
#output
Line1
Line2
Line3
Line1
Line2
Line3
Line1
Line2
Line3