我在RStudio与Base R中使用Windows进度条时发现了一些奇怪的行为。具体来说,RStudio在自己的窗口中创建一个进度条(在任务栏中独立),而Base R在“R”中创建一个进度条“窗口”(与任务栏中的R组合在一起)。例如,请参见下面的屏幕截图。
就我的目的而言,使用Shiny应用程序时会出现问题,因为使用Base R时,我的进度条不会弹出浏览器前面(用户需要点击R窗口)为了看到它们 - 见截图),当他们做时,在RStudio中运行完全相同的代码时,会根据需要弹出。
有没有办法改变Base R中进度条的行为以匹配RStudio中的所需行为?我试过查看options()
但找不到任何有关进度条的信息。
如果您想尝试一下,这是一个使用Shiny的玩具示例:
# Simple progress bar app
require(shiny)
runApp(list(
ui = bootstrapPage(
actionButton("goButton", "Go!")
),
server = function(input, output) {
observe({
if(input$goButton > 0) {
pb = winProgressBar("test progress bar", "Some information in %",0, 100, 0)
u = c(0, sort(runif(20, 0, 100)), 100)
for(i in u) {
Sys.sleep(0.1)
info <- sprintf("%d%% done", round(i))
setWinProgressBar(pb, i, "test progress bar", info)
}
Sys.sleep(2)
close(pb)
}
})
}
))