r - 显示跨一条显示行的循环计数器

标签 r loops counter

我正在 R 中运行以下类型的循环:

for(i in 1:N){...}

我想要一个计数器来显示循环过程中i的当前值。我希望它能够跟踪我距离循环终点还有多远。一种方法是简单地将 print(i) 插入循环代码中。例如,

for(i in 1:N){
...substantive code that does not print anything...
print(i)
}

这完成了工作,为您提供正在运行的i。问题是它在新行上打印每个值,la,

[1] 1
[1] 2
[1] 3

这会占用大量控制台空间;如果N很大,它将耗尽所有控制台空间。我想要一个不会占用太多控制台空间的柜台。 (有时,能够向上滚动控制台来检查以确保您正在运行您认为正在运行的内容是很好的。)因此,我希望有一个显示为的计数器,

[1] 1 2 3 ...

达到控制台宽度后继续换行。我时常看到这种情况。有什么技巧可以实现这一点吗?

最佳答案

尝试使用函数flush.console()

for (i in 1:10){
 cat(paste(i, " ")); flush.console()
}

给出

1  2  3  4  5  6  7  8  9  10

这里对代码进行了一个小修改,它将仅打印一个数字并在每次运行时递增它。它使用回车符 (\r) 序列来避免控制台中出现一长串数字。

for(i in 1:100) {  
  Sys.sleep(.1)      # some loop operations
  cat(i, "of 100\r") 
  flush.console()
}

关于r - 显示跨一条显示行的循环计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5249317/

相关文章:

c# - 计算/排序文本文件中的字符

arrays - R 中球体的网格或数组表示

c++ - 在没有全局变量的情况下,使用 sigaction() 打破 C++ 中的无限循环

javascript - 从多维数组中提取值

java - 计数功能不完整

java - 计算字符串中逗号的数量,双引号之间的逗号除外

r - R 中泊松回归的预测不准确

r - 在我的 ggplot2 图中添加一个指向 x 轴的箭头

class - 从 S4 类定义中的包中识别 S3 (?) 类

javascript - 循环 jQuery ajax 并传递参数的正确方法