Спільний доступ до програм через локальну мережу досить класно, але це свого роду хак. Я спробував це з деякими колегами, і це працює, але це скоріше офісна хитрість, аніж стійке рішення.
Я щойно закінчив розробку пакету RInno саме для цієї проблеми, тобто коли компанія не буде платити за Shiny Server або є проблеми із безпекою хмарних служб.
Для початку:
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