从Rscript以交互方式运行R
我正在尝试从Rscript启动一个闪亮的应用程序或交互式.Rmd文档。然而,我得到的只是一条信息 正在收听: 我相信这是因为R是以交互模式运行的(关于这一点)。如何编写正确的Rscript,使以下任一项都能工作 我的剧本从Rscript以交互方式运行R,r,shiny,r-markdown,rscript,R,Shiny,R Markdown,Rscript,我正在尝试从Rscript启动一个闪亮的应用程序或交互式.Rmd文档。然而,我得到的只是一条信息 正在收听: 我相信这是因为R是以交互模式运行的(关于这一点)。如何编写正确的Rscript,使以下任一项都能工作 我的剧本 如果我正确理解了您的问题,我就能够用它来实现这一点,我使用它来代替围绕R编写脚本的任务。Rscript。我正在运行CentOS 7,根据您问题中的代码,看起来您是在一台类似Unix的机器上,因此不应该是问题。为了最小化再现性,我使用了RStudio提供的默认闪亮应用程序和基于闪
如果我正确理解了您的问题,我就能够用它来实现这一点,我使用它来代替围绕R编写脚本的任务。
Rscript
。我正在运行CentOS 7,根据您问题中的代码,看起来您是在一台类似Unix的机器上,因此不应该是问题。为了最小化再现性,我使用了RStudio提供的默认闪亮应用程序和基于闪亮的Rmarkdown模板,将它们分别保存为testapp
(项目/应用程序目录名)和testRMD.rmd
。然后,我有以下脚本:
第r页
testRMD.r
设置这些文件的权限,以便可以执行这些文件-
[nathan@nrussell R]$ chmod +x testapp.r testRMD.r
(chmod+u…
应该足够了,但无论如何…),并且您应该设置好从终端运行它们,等等
对于我省略的
Rmd
文件,还有一些额外的命令行输出,但我确信如果需要,可以很容易地抑制这些输出。无论如何,这似乎工作正常-Shining应用程序和Rmarkdown应用程序都是交互式的,就像从RStudio启动时一样-但是如果您有其他想法,请澄清。谢谢@nrussell,您的示例对我帮助很大
下面是我在Windows 10上启动交互式降价文档的解决方案
REM Change to correct directory
cd "C:\Users\me\Documents\project_folder\"
REM Print files available (not required, but helpful)
dir
REM Point system to R's Pandoc with Rscript then launch
"C:\Program Files\R\R-4.0.3\bin\Rscript.exe" -e ^
"Sys.setenv(RSTUDIO_PANDOC='C:/Users/me/Documents/RStudio/bin/pandoc'); rmarkdown::run(file = 'myInteractiveMarkdown.Rmd', shiny_args = list(launch.browser = TRUE, host = '127.0.0.1'))"
我发现我最初有两个错误:
错误pandoc版本1.12.3或更高版本是必需的
,我使用说明解决了这个问题shinny_args
中设置端口时,bat文件的后续执行将得到一个错误,即端口已经繁忙谢谢!出于某种原因,我只是假设launch.browser总是正确的(facepalm)。我还没试过littler,但看起来很不错。我需要这是共享的windows以及现在虽然。在尝试此操作时,我发现在呈现rmarkdown时,出于某种原因,我需要使用
default\u file
而不是file
指定文件名。@nongkrong太好了,HTH。我没有用Rscript测试它,但它也应该能与该接口一起工作;无论如何,我认为launch.browser
参数是这里的关键。
#!/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
[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
REM Change to correct directory
cd "C:\Users\me\Documents\project_folder\"
REM Print files available (not required, but helpful)
dir
REM Point system to R's Pandoc with Rscript then launch
"C:\Program Files\R\R-4.0.3\bin\Rscript.exe" -e ^
"Sys.setenv(RSTUDIO_PANDOC='C:/Users/me/Documents/RStudio/bin/pandoc'); rmarkdown::run(file = 'myInteractiveMarkdown.Rmd', shiny_args = list(launch.browser = TRUE, host = '127.0.0.1'))"