La condivisione di app sulla LAN in questo modo è piuttosto interessante, ma è una specie di hack. L'ho provato con alcuni colleghi e funziona, ma è più un trucco da ufficio che una soluzione sostenibile.
Ho appena finito di sviluppare il pacchetto RInno per questo problema esatto, ovvero quando un'azienda non pagherà per Shiny Server o ci sono problemi di sicurezza con i servizi cloud.
Per iniziare:
install.packages("RInno")
require(RInno)
RInno::install_inno()
Quindi devi solo chiamare due funzioni per creare un framework di installazione:
create_app(app_name = "myapp", app_dir = "path/to/myapp")
compile_iss()
Se desideri includere R per i tuoi colleghi che non l'hanno installato, aggiungi include_R = TRUE
a create_app
:
create_app(app_name = "myapp", app_dir = "path/to/myapp", include_R = TRUE)
Il valore predefinito include shiny, magrittr e jsonlite, quindi se stai usando altri pacchetti come ggplot2 o plotly, aggiungili semplicemente pkgs
all'argomento. Puoi anche includere pacchetti GitHub remotes
nell'argomento:
create_app(
app_name = "myapp",
app_dir = "path/to/myapp"
pkgs = c("shiny", "jsonlite", "magrittr", "plotly", "ggplot2"),
remotes = c("talgalili/installr", "daattali/shinyjs"))
Se sei interessato ad altre funzionalità, dai un'occhiata a FI Labs - RInno