R在闪亮的应用程序没有错误后停止脚本

R stops script after shiny app without error

这是我第一次在这里发布问题,如果我过于含糊或不清楚,请原谅我。我在 R 中 运行ning 一个脚本,它以一个闪亮的应用程序开头,并且在使用 Windows 时这个脚本 运行 是完美的。但是,当在 Mac 上时,脚本似乎会在闪亮的应用程序之后捕获某些命令。这是我的脚本的一个最小示例。我包含了完整的闪亮应用程序以防相关。

library(shiny)
master_metatable=read.csv('metadata.csv')

#begin shiny app
select_tables=runApp(list(
  ui=fluidPage(
    titlePanel("Data Repository v0.01"),
    fluidRow(
      column(3,
             checkboxGroupInput("phase_selection",
                     label = "Choose Phase",
                     choices = c("Phase I","Phase II","Phase III"),
                     selected = "Phase I")),

      column(3,
             uiOutput("ui")),

      column(3,
             actionButton("done","Done"))

    )
  ),
  server=function(input,output){
    output$ui=renderUI({
      tables=unique(master_metatable$measure[which(master_metatable$cohort==input$phase_selection)])
      checkboxGroupInput("table_selection",
                     label = "Tables",
                     tables)
    })

    output$text1=renderText({
     paste0("You have selected ",input$table_selection)
    })


    observeEvent(input$done, stopApp(list(input$phase_selection,
                                                 input$table_selection)))
  }

))
#end shiny app


#test print 1
print("test1")

testcsv=read.csv('metadata.cv')

#test print 2
print("test2")


library(tcltk)
filepath=tk_choose.dir()

...等等

因此,例如,当我 运行 我的 Mac 上的这个脚本时,它完成闪亮的应用程序,打印 'test1',然后开始读取 testcsv 但停止。它不会产生错误或警告消息,甚至不会给出“+”表示我遗漏了“)”或其他内容。它只是停止,不读入 table,并且永远不会继续执行脚本的其余部分。它也没有被冻结,它就像它到达了脚本的末尾一样。请注意,这与我在脚本顶部导入的 csv 相同,因此我的语法或 csv 文件没有任何问题。但是,如果我先 运行 脚本的闪亮应用程序部分,然后 运行 脚本的其余部分,一切都会完美无缺!换句话说,如果我一次性 运行 整个脚本,它会捕捉到,但如果我只突出显示闪亮的应用程序并 运行 它,然后突出显示其他所有内容并 运行 它,它作品。同样,这种异常只发生在 Macs 上(我尝试了两个 Macs 都 运行ning Yosemite),并且脚本在 Windows 上完美运行(两者都64 位和 32 位)。

此外,在我的 Mac 上 运行 整个脚本时,它会成功地 运行 应用程序并读取 csv,但会捕捉到一些东西否则在脚本的后面。它似乎只捕捉与环境相关的命令(即 read.csv、read.table、tk_choose.dir)。它对基本的处理命令从来没有任何问题。一旦它甚至毫无问题地完成了整个脚本,但下次我 运行 它时,它再次出现 read.csv。

我也不认为这个问题与我机器的处理限制有关,因为我的计算机上 运行 要求更高的 R 脚本没有问题。

有什么想法吗?

我终于在GitHub forum上找到了答案。它与 RStudio 中的查看器窗格有关。要在 Mac 上使用,我将 'options(shiny.launch.browser = TRUE)' 添加到我的脚本的开头,以便它使用我计算机的默认 Web 浏览器作为查看器窗格而不是 R 的。