gpt4 book ai didi

从 Rscript 以交互方式运行 R

转载 作者:行者123 更新时间:2023-12-04 08:23:47 25 4
gpt4 key购买 nike

我正在尝试从 Rscript 启动一个 Shiny 的应用程序或交互式 .Rmd 文档。然而,我得到的只是一条消息

Listening on http://127.0.0.1:...



我相信这是因为 R 以交互模式运行( another post 关于此)。我如何编写正确的 Rscript 以便以下任一方法都可以工作?

我的剧本
#!/usr/bin/Rscript

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

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

最佳答案

如果我正确理解您的问题,我就可以通过 littler 实现这一点。 ,我用它代替 Rscript用于围绕 R 的脚本任务。我正在运行 CentOS 7,根据您问题中的代码,您看起来像是在类 Unix 机器上,所以 installing littler应该不是问题。为了最小的可重复性,我使用了 RStudio 提供的默认 Shiny 应用程序和基于 Shiny 的 Rmarkdown 模板,将它们保存为 testapp (项目/应用程序目录名称)和 testRMD.rmd , 分别。然后,我有以下脚本:

测试应用程序

#!/usr/bin/env r

shiny::runApp(
"~/tmp/delete/testapp",
port = 7088,
launch.browser = TRUE,
host = "127.0.0.1")

测试RMD
#!/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

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
Rmd 有一些额外的命令行输出我省略的文件,但我相信如果需要,这可以很容易地被抑制。无论如何,这似乎工作正常—— Shiny 的应用程序和 Rmarkdown 应用程序都是交互式的,就像从 RStudio 启动时一样——但如果你有其他想法,请澄清一下。

关于从 Rscript 以交互方式运行 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com