【问题标题】:R stops script after shiny app without errorR在闪亮的应用程序没有错误后停止脚本
【发布时间】:2017-03-01 17:35:04
【问题描述】:

这是我第一次在这里发布问题,如果我过于模糊或不清楚,请原谅我。我在 R 中运行一个以闪亮应用程序开头的脚本,当使用 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 但停止。它不会产生错误或警告消息,甚至不会给出“+”表示我遗漏了“)”或其他内容。它只是停止,不在表格中读取,并且从不继续脚本的其余部分。它也没有被冻结,它就像到了脚本的结尾一样。请注意,这与我在脚本顶部导入的 csv 相同,因此我的语法或 csv 文件没有任何问题。但是,如果我只先运行脚本的闪亮应用程序部分,然后运行脚本的其余部分,一切都会完美无缺!换句话说,如果我一次运行整个脚本,它会捕获,但如果我只是突出显示闪亮的应用程序并运行它,然后突出显示其他所有内容并运行它,它就可以工作。同样,这种异常只发生在 Mac 上(我尝试了两台都运行 Yosemite 的 Mac),并且该脚本在 Windows(64 位和 32 位)上完美运行。

此外,在我的 Mac 上运行整个脚本时,它会不时地成功运行应用程序并读取 csv,但稍后会在脚本中捕获其他内容。它似乎只捕获与环境相关的命令(即 read.csv、read.table、tk_choose.dir)。它在基本处理命令方面从来没有任何问题。一旦它甚至没有问题地完成了整个脚本,但下次我运行它时,它又被 read.csv 捕获了。

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

有什么想法吗?

【问题讨论】:

  • 你是如何运行该脚本的?你在使用 RStudio 吗?
  • 是的,我使用的是 R studio R 版本 3.2.4 (2016-03-10) 平台:x86_64-apple-darwin13.4.0 (64-bit) 运行于:OS X 10.10.5 (优胜美地)

标签: r windows shiny osx-yosemite


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 2017-03-24
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 2020-09-21
    • 2017-04-08
    • 1970-01-01
    相关资源
    最近更新 更多