目前我有一个R闪亮的应用程序,运行它我打开RStudio并执行
setwd("C:/Users/Me/Desktop/R/ShinyProject2")
library(shiny)
......
runApp()
从我目录中的R脚本。
我将应用程序发送给不知道如何使用R的同事进行审核。
所以我只是想知道......是否有一种简单的方法来编写可直接打开UI而无需点击的可执行文件 打开R studio并执行代码?
答案 0 :(得分:15)
RStudio!= R
R有一个简单的命令行界面,您可以通过在R安装的bin文件夹中运行R.exe在Windows上运行。
还有Rscript.exe,它可以运行表达式或脚本文件。例如:
C:\Program Files\R\R-2.15.2\bin\RScript -e hist(runif(1000))
将(给定正确的路径)创建一个带有直方图的PDF文件。
所以,
或者将它托管在RStudio人员的公共闪亮服务器上,但随后我们都可以看到它。
答案 1 :(得分:9)
我知道这是一个古老的讨论,但它可能会帮助那些知道可以现在完成的人。您可以创建一个独立的闪亮应用程序,该应用程序在计算机上运行,无需安装R或任何库。 有一种相对简单的方法(目前我只为Windows用户做过,但对于MacOS也应该这样做),遵循以下详细步骤:http://www.r-bloggers.com/deploying-desktop-apps-with-r/ 。其他选项可能是在Shiny服务器上上传应用程序。
答案 2 :(得分:4)
我遇到了同样的问题,并使用了以下两个解决方案,两者都运行良好。
好:随时随地都可以访问该应用。缺点:每月只有25个活跃小时。
好:尽可能多的活跃时间。缺点:需要在同一个本地网络上,应用程序应在连接到该网络的计算机上持续运行。
您需要在计算机上运行该应用,并通过将runapp命令更改为以下命令在LAN上共享:
runApp(host="0.0.0.0",port=5050)
然后在你的同事上转到http://[your-IP-address]:5050 (见:Hosting LAN Shiny apps run from command line)
答案 3 :(得分:3)
现在,您可以将RInno包用于此类事物。要获得设置:
install.packages("RInno")
require(RInno)
RInno::install_inno()
然后您只需要调用两个函数来设置安装框架:
create_app(app_name = "myapp", app_dir = "path/to/myapp")
compile_iss()
如果您想要加入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
答案 4 :(得分:2)
现在有一种新的方式可用于通过“电子”和“光子”构建真正独立的Shiny应用exe。有关软件包/插件等,请参见以下链接。
也就是说,RStudio的shinyapps.io或Binder部署可能是可访问性和开发的更好选择。
答案 5 :(得分:1)
我知道这是一个非常古老的讨论,但是我最近遇到了这个问题,在尝试了几种选择之后,我发现使用Shinyshortcut包是最好的:
library(shinyShortcut) shinyShortcut(shinyDirectory = getwd(), OS = .Platform$OS.type, gitIgnore = FALSE)
答案 6 :(得分:1)
以下是快速修复。通过cd
在命令行中转到项目目录。然后
R -e "shiny::runApp(port=8000,host = getOption('shiny.host', '10.10.10.10'))"
现在URL 10.10.10.10:8000
将处于活动状态。
要使URL即使在注销后也仍然有效,可以使用nohup
。显然,这不是生产环境所需的设置。
nohup R -e "shiny::runApp(port=8000,host = getOption('shiny.host', '10.10.10.10'))" &