从Rs交互式运行R

我正尝试从Rscript启动一个闪亮的应用程序或交互式.Rmd文档。 但是,我所得到的只是一个信息

在http://127.0.0.1上收听:...

我相信这是因为R在交互模式下运行(关于这个的另一篇文章)。 我怎样才能写出正确的Rscript,以便下列任何一种工作?

我的脚本

#!/usr/bin/Rscript

## This
library(shiny)
runApp(appDir = "../app")

## Or this
## rmarkdown::run("Main.Rmd")

如果我正确地理解了你的问题,我就可以用Rscript来实现这一点,我用它代替Rscript来编写围绕R的脚本任务。我运行的是CentOS 7,并且基于你的问题中的代码,它看起来像你在类似Unix的机器上,所以安装小文件不应该成为问题。 为了尽可能降低重现性,我使用RStudio提供的默认闪亮应用程序和基于闪亮的Rmarkdown模板,分别将它们保存为testapp (项目/应用程序目录名称)和testRMD.rmd 。 然后,我有以下脚本:


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"))

设置这些文件的权限以便它们可以被执行 -

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

chmod +u ...应该就足够了,但不管...),你应该全部设置为从终端等运行它们。


[nathan@nrussell R]$ ./testapp.r
Loading required package: shiny

Listening on http://127.0.0.1:7088

在这里输入图像描述

[nathan@nrussell R]$ ./testRMD.r
Loading required package: shiny

Listening on http://127.0.0.1:7088

在这里输入图像描述


还有一些额外的命令行输出用于我省略的Rmd文件,但我相信如果需要可以很容易地抑制它。 无论如何,这似乎工作正常 - 闪亮的应用程序和Rmarkdown应用程序都是交互式的,就像从RStudio启动时一样 - 但如果您有其他想法,请澄清。

链接地址: http://www.djcxy.com/p/86763.html

上一篇: Run R interactively from Rscript

下一篇: Get MVC Bundle Querystring