Run R interactively from Rscript

后端 未结 1 840
-上瘾入骨i
-上瘾入骨i 2020-12-17 23:35

I\'m trying to start a shiny app or an interactive .Rmd document from an Rscript. However, all I get is a message

Listening on http://127.0.0.1:...

相关标签:
1条回答
  • 2020-12-18 00:08

    If I understand your question correctly, I was able to achieve this with littler, which I use in lieu of Rscript for scripting tasks that revolve around R. I'm running CentOS 7, and based on the code in your question it looks like you are on a Unix-like machine, so installing littler should not be an issue. For minimal reproducibility, I used the default shiny application and shiny-based Rmarkdown templates provided by RStudio, saving them as testapp (the project / application directory name) and testRMD.rmd, respectively. Then, I have the following scripts:


    testapp.r

    #!/usr/bin/env r
    
    shiny::runApp(
      "~/tmp/delete/testapp",
      port = 7088, 
      launch.browser = TRUE,
      host = "127.0.0.1")
    

    testRMD.r

    #!/usr/bin/env r
    
    rmarkdown::run(
      file = "testRMD.rmd",
      dir = "~/tmp/delete",
      shiny_args = list(
        port = 7088,
        launch.browser = TRUE,
        host = "127.0.0.1"))
    

    Set the permissions for these files so they can be executed -

    [nathan@nrussell R]$ chmod +x testapp.r testRMD.r
    

    (chmod +u ... should suffice, but regardless...), and you should be all set to run them from your terminal, etc...


    [nathan@nrussell R]$ ./testapp.r
    Loading required package: shiny
    
    Listening on http://127.0.0.1:7088
    

    enter image description here

    [nathan@nrussell R]$ ./testRMD.r
    Loading required package: shiny
    
    Listening on http://127.0.0.1:7088
    

    enter image description here


    There is some additional command line output for the Rmd file that I omitted, but I'm sure this could be suppressed easily if desired. Anyhow, this seems to be working properly - both the shiny application and Rmarkdown application are interactive, just as when launched from RStudio - but if you had something else in mind please clarify.

    0 讨论(0)
提交回复
热议问题