【发布时间】:2021-07-04 22:20:04
【问题描述】:
循环内print() 调用的输出是否可以在每次循环迭代时在控制台/交互式降价文件中替换自身?如果这很重要,我会在 RStudio 中完成所有 R 编码。
例如,这是我目前观察到的行为:
for (i in 1:20){
print(paste('iteration', i))
}
[1] "iteration 1"
[1] "iteration 2"
[1] "iteration 3"
[1] "iteration 4"
[1] "iteration 5"
[1] "iteration 6"
[1] "iteration 7"
[1] "iteration 8"
[1] "iteration 9"
[1] "iteration 10"
[1] "iteration 11"
[1] "iteration 12"
[1] "iteration 13"
[1] "iteration 14"
[1] "iteration 15"
[1] "iteration 16"
[1] "iteration 17"
[1] "iteration 18"
[1] "iteration 19"
[1] "iteration 20"
在迭代次数相对较少的情况下,这还不错,但我确实喜欢打印出迭代,以便跟踪它——尤其是在迭代次数较多的情况下。那么有没有办法在第一次迭代时打印iteration 1,然后用iteration 2 替换该文本等等?
在 Python 中,我主要使用 Jupyter,您可以通过从 IPython.display 导入 clear_output 函数,然后在每次迭代调用 print() 之前立即调用它来实现这一点。例如
from IPython.display import display, clear_output
for i in range(1, 21):
clear_output(wait=True)
print('iteration', i)
R/RStudio 中有这样的东西吗?
【问题讨论】:
-
您可以在您的
for-loop 中添加cat("\f")。