R Shiny - 如何在网络内共享应用程序

时间:2014-09-17 17:40:22

标签: r shiny intranet

我创建了一个R Shiny应用程序,我想在网络中与我的同事分享。 我尝试在我的计算机上托管应用程序,以便网络中的其他用户可以访问它并将其与数据文件一起使用。

我试过了:

    runApp("appname",host="0.0.0.0",port=3986)

还有:

    runApp("appname",host="DNSMachinename")

后一种尝试导致以下错误:

虽然我的同事能够加入应用程序,但它并没有像在我的机器上那样运行。 谢谢你的帮助。

3 个答案:

答案 0 :(得分:3)

shiny教程列表a number of ways to share your app。我特别在应用程序的某个地方托管zip文件,并让您的同事使用runUrl自动下载应用程序并在本地运行它。通过这种方式,人们可以继续运行最新版本的应用程序,但它不会在您的计算机上运行。

答案 1 :(得分:3)

既然你表现出对Shiny服务器的兴趣,那么在#34;回答"中发表一些想法可能会更方便。因为它不符合评论。

由于你有一个小组,我强烈建议你看一下R服务器和闪亮的服务器。

(1)Shiny server

您可以在旧计算机上完全安装Shiny服务器,我建议使用类似(Ubuntu)的Linux操作系统,这样可以节省一些时间。我们有一个集群,我们使用其中一个服务器同时托管一个闪亮的服务器和闪亮的服务器。只有内部员工才能访问它,而且它位于公司的网络中。

(2)R server

我不确定您正在使用哪个环境来编程R,但是如果您想在团队中对R进行评估。拥有一个稳定的环境,公司内部的每个人都可以通过身份验证进行访问,这是一个很好的入门方式。

(3)shinyapps.io

是一个免费的平台,您可以托管您的闪亮应用程序,它是alpha版本,我不认为内置了很多身份验证或安全性。这里enter link description here是一个托管在shinyapps上的示例。 IO

(4)AWS free tier

如果您之前从未使用过AWS,那么您可以在AWS上免费运行一个微实例一年!我强烈建议使用旧的计算机使用AWS代替F *。

答案 2 :(得分:3)

如果您仍在努力获得服务器或云解决方案的支持,我刚刚完成了针对此问题的RInno软件包的开发,即当公司不支付Shiny Server或有安全性时关注云服务。

开始使用:

install.packages("RInno")
require(RInno)
RInno::install_inno()

然后你只需要调用两个函数来创建一个安装框架:

create_app(app_name = "myapp", app_dir = "path/to/myapp")
compile_iss()

如果您希望为未安装R的同事添加R,请将include_R = TRUE添加到create_app

create_app(app_name = "myapp", app_dir = "path/to/myapp", include_R = TRUE)

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

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

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