gpt4 book ai didi

r - 有没有办法更新 R 控制台中的现有文本?

转载 作者:行者123 更新时间:2023-12-04 10:31:24 26 4
gpt4 key购买 nike

我想知道是否可以更新 R 控制台中的现有文本?例如,如果我运行一个需要更长执行时间的函数,我想知道它目前有多远。

我可以通过发布 print("at 10%") 来实现这一点。 , print("at 20%")等在函数中的适当位置。但这可能是一个相对较长的输出,因为它每次都会产生一个新行。

有没有办法从正在运行的函数中更新控制台文本,更新控制台中的当前行而不是创建新行?例如。 >at 10%在控制台中更改为 >at 20%在适当的时候。

最佳答案

冲洗控制台有效,但可能会导致闪烁。如果你想要一个非常简单的文本行更新,那么通过打印 \r 返回到行的开头就足够了。并覆盖那里的文本。

这是一个 progress来自 rcane module 的函数:

progress <- function (x, max = 100) {
percent <- x / max * 100
cat(sprintf('\r[%-50s] %d%%',
paste(rep('=', percent / 2), collapse = ''),
floor(percent)))
if (x == max)
cat('\n')
}

这是正在运行的进度条的屏幕截图:

Screenshot

最后,这可以很好地包装,以便它的使用毫不费力:
map_with_progress(some_function, some_data)

(有关实现,请参阅上面的链接;当然,R 自己的 txtprogressBar 更加灵活。)

关于r - 有没有办法更新 R 控制台中的现有文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21886682/

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