2017-10-04 1 views
-1

Ich bin auf der Suche nach meiner R Shiny App, aber ich kann nicht die Standard-Ansatz mit runapp Befehl verwenden und die IP auf 0.0.0.0. Ich habe mich gefragt, ob es eine Möglichkeit gibt, eine reine HTML-Datei auszugeben, die sowohl die ui.R- als auch die server.R-Funktionalität enthält, so dass ich sie mit einer reinen HTML-Datei bereitstellen kann, die täglich generiert wird. Ist es möglich, dass R/Shiny eine index.html-Datei erzeugt, die sowohl die ui-Elemente enthält als auch die Server.R-Funktionalität/-Reaktivität emuliert?Ausgabe reine HTML-Datei von R Shiny App

+0

Kurze Antwort installieren können, nein. Wenn Sie eine interaktive Shiny-Anwendung bereitstellen möchten, müssen Sie entweder einen [shiny-server] (https://www.rstudio.com/products/shiny/shiny-server) bereitstellen oder [glancapps.io] (http: //www.shinyapps.io) –

+0

Ich würde hinzufügen, aber Sie können Shiny-Funktionalität in Dokumente wie [Rmarkdown] (http://rmarkdown.studio.com/authoring_embedded_shiny.html) einbetten. Dies kann Ihren Bedürfnissen entsprechen. –

+0

Ich schätze die Antwort. Könnte ich rmarkdown verwenden, um auf eine R Shiny-Anwendung zu verweisen, um eine Rmarkdown-Datei auszugeben, die reinen HTML-Code enthält? Worauf ich hinaus will, ist, dass ich die App zwar auf meinem lokalen Rechner ausführen kann, aber um sie für eine größere Zielgruppe bereitzustellen, würde ich höchstwahrscheinlich eine einzige HTML-Datei benötigen, da ich dort nicht installiert bin. – John

Antwort

1

Grundsätzlich hat @Kevin Arschenau bereits auf die wichtigsten Punkte hingewiesen.

Sie benötigen einen R-Server, um eine glänzende App auszuführen. Es gibt keine Möglichkeit, es in "reines HTML" zu konvertieren und die Interaktivität über Javascript auszuführen. Der Grund dafür ist, dass glänzende Apps R-Code zur Laufzeit ausführen müssen und Javascript nicht weiß, wie damit umzugehen ist.

Wenn auf der Site, für die Sie bereitstellen möchten, keine funktionierende Installation von R (und shiny-server) vorhanden ist, besteht die einzige Möglichkeit zum Anzeigen einer glänzenden App darin, die App auf einem anderen Server zu hosten und über einen Iframe einzubetten. Zum Beispiel können Sie eine App auf shinyapps.io hochladen und in Ihre Webseite einbinden. Siehe here.

Wenn Ihr Unternehmen nicht erlauben Sie die App auf fremden Websites zu hosten (für die Offenlegung Gründen), werden Sie die IT-Abteilung konsultieren müssen und sie bitten, zu

  • installieren R und shiny-server auf Unternehmens-Server oder
  • geben Sie eine VM, so dass Sie die Abhängigkeiten dort
+0

Vielen Dank für die Antwort. Wenn ich einen Linux-Server bekomme, kann ich einfach R installieren und habe diese Instanz als Server oder würde ich auch einen glänzenden Server brauchen? – John

+0

Du brauchst 'shiny-server' soweit ich weiß. Installationsanweisungen für 'Ubuntu 14.04 x64' finden Sie [hier] (http://deanattali.com/2015/05/09/setup-rstudio-shiny-server-digital-ocean/) –