可以在不打开R环境的情况下运行RShiny应用程序吗?

Gre*_*mon 13 executable r shiny

目前我有一个R闪亮的应用程序,运行它我打开RStudio并执行

setwd("C:/Users/Me/Desktop/R/ShinyProject2")
library(shiny)
......
runApp()
Run Code Online (Sandbox Code Playgroud)

从位于我的目录中的R脚本.

我正在将应用程序发送给不知道如何使用R的同事进行审核.

所以我只是想知道......是否有一种简单的方法来编写可直接打开UI的可执行文件,而无需单击打开R studio并执行代码?

Spa*_*man 17

RStudio!= R.

R有一个简单的命令行界面,您可以通过在R安装的bin文件夹中运行R.exe来在Windows上运行该界面.

还有Rscript.exe,它可以运行表达式或脚本文件.例如:

C:\Program Files\R\R-2.15.2\bin\RScript -e hist(runif(1000))
Run Code Online (Sandbox Code Playgroud)

将(给定正确的路径)创建一个带有直方图的PDF文件.

所以,

  • 你的同事需要一个R安装
  • 您需要安装才能使所有程序包运行闪亮
  • 或者在代码中添加一堆install.packages()行
  • 你需要给他们一个包含闪亮代码的文件夹
  • 你添加一个Windows .BAT文件供他们点击
  • 他们运行它,它调用Rscript.exe启动你给他们的闪亮包

或者将它托管在RStudio人员的公共闪亮服务器上,但随后我们都可以看到它.

  • 如果您的工作场所(与同事共享文件夹)有文件服务器系统,您可以跳过前三点。只需安装 R 和软件包即可在共享文件夹中运行闪亮。它更容易维护,因为所有同事都使用相同的 R 版本 + 包。 (2认同)

小智 10

我知道这是一个古老的讨论,但它可能会帮助别人知道这现在已经完成了.您可以创建一个独立的闪亮应用程序,该应用程序在计算机上运行,​​无需安装R或任何库.有一种相对简单的方法(目前我只为Windows用户做过,但MacOS也应该这样做),遵循以下详细步骤:http://www.r-bloggers.com/deploying- desktop-apps-with-r / .其他选项可以在Shiny服务器上传应用程序.

  • 一般建议在解决方案中复制,以防链接被删除 (3认同)

Jon*_*ill 6

现在,您可以将RInno包用于这种类型的事情。要进行设置:

install.packages("RInno")
require(RInno)
RInno::install_inno()
Run Code Online (Sandbox Code Playgroud)

然后,您只需要调用两个函数来设置安装框架:

create_app(app_name = "myapp", app_dir = "path/to/myapp")
compile_iss()
Run Code Online (Sandbox Code Playgroud)

如果要包括R,请添加include_R = TRUEcreate_app

create_app(app_name = "myapp", app_dir = "path/to/myapp", include_R = TRUE)
Run Code Online (Sandbox Code Playgroud)

它的默认设置是包含Shiny,Magrittr和jsonlite,因此,如果您使用的是ggplot2或plotly等其他软件包,只需将它们添加到pkgs参数中即可。您还可以在remotes参数中包含GitHub软件包:

create_app(
    app_name = "myapp", 
    app_dir  = "path/to/myapp"
    pkgs     = c("shiny", "jsonlite", "magrittr", "plotly", "ggplot2"),
    remotes  = c("talgalili/installr", "daattali/shinyjs"))
Run Code Online (Sandbox Code Playgroud)

如果您对其他功能感兴趣,请查看FI Labs-RInno


Joh*_*Bee 5

我遇到了同样的问题,并使用了以下两个很好的解决方案。

在Shinyapps.io上发布应用

好:可以随时随地访问该应用程序。缺点:每月只有25个工作小时。

  1. 转到https://www.shinyapps.io/并创建一个免费帐户
  2. 配置rsconnect以将R与您的新Shinyapps帐户关联(Shinyapps文档中的逐步说明
  3. 在Rstudio中,单击“发布”(运行应用程序按钮旁边)
  4. 从Shinyapps.io仪表板获取应用程序地址,并将其发送给您的同事。

在局域网上共享应用

好:您需要的工作时间足够长。缺点:要求位于同一本地网络上,并且该应用程序必须在连接到该网络的计算机上持续运行。

您需要在计算机上运行该应用程序,并通过将runapp命令更改为以下内容在局域网上共享该应用程序:

runApp(host="0.0.0.0",port=5050)
Run Code Online (Sandbox Code Playgroud)

然后在您的同事上转到http:// [您的IP地址]:5050 (请参阅此:托管从命令行运行的LAN Shiny应用程序