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