gpt4 book ai didi

r - print() 的输出在 R 中的循环的每次迭代中替换自身

转载 作者:行者123 更新时间:2023-12-04 13:08:29 25 4
gpt4 key购买 nike

循环中 print() 调用的输出是否有可能在循环的每次迭代中在控制台/交互式 markdown 文件中替换自身?如果这很重要,我会在 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 中有这样的东西吗?

最佳答案

您可以使用 cat\r 换行符(但不能使用 \n 换行符)。

for (i in 1:3) {
cat(paste("\riteration", i))
Sys.sleep(1)
}
cat("\n")

关于r - print() 的输出在 R 中的循环的每次迭代中替换自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68249193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com