So installieren Sie R-Pakete mit devtools unter Ubuntu 16.04

Einführung

R ist eine beliebte Open Source-Programmiersprache, die sich auf statistische Berechnungen und Grafiken spezialisiert hat. Es wird häufig zur Entwicklung statistischer Software und zur Durchführung von Datenanalysen verwendet. R ist leicht erweiterbar und die Community ist dafür bekannt, dass sie ständig benutzergenerierte Pakete für bestimmte Studienbereiche hinzufügt, was es für viele Bereiche anwendbar macht.

In diesem Tutorial zeigen wir Ihnen, wie Sie devtools installieren und ein Paket direkt von GitHub installieren.

Voraussetzungen

Um mitzumachen, benötigen Sie R, das auf einem Ubuntu 16.04-Server mit mindestens 1 GB RAM installiert ist, und einen Nicht-Root-Benutzer mit den Rechten "+ sudo +". So richten Sie R unter Ubuntu 16.04 ein kann Ihnen dabei helfen.

Schritt 1 - Installieren der Systemabhängigkeiten für Devtools

Wir werden devtools über die interaktive Shell installieren, aber bevor wir dies tun, müssen wir die folgenden Systemabhängigkeiten installieren:

sudo apt-get install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev

Sobald dies abgeschlossen ist, können wir fortfahren.

Schritt 2 - Installieren des Devtools-Pakets

Mit Devtools können wir Pakete direkt von GitHub, BitBucket und lokalen Dateien installieren und erstellen sowie bestimmte Versionen von CRAN installieren. Um + devtools + für die gesamte Site verfügbar zu machen, geben wir die R-Shell als root ein:

sudo -i R

Innerhalb des Monitors verwenden wir die Funktion "+ install.packages () ", um " devtools +" vom offiziellen Comprehensive R Archive Network (CRAN) zu installieren. .

install.packages('devtools')

Wenn Sie dazu aufgefordert werden, wählen Sie 1 für 0-Cloud aus, um eine Verbindung zum von RStudio bereitgestellten Content Delivery Network (CDN) herzustellen und den geografisch nächstgelegenen Spiegel zu erhalten. Nachdem Sie Ihre Auswahl getroffen haben, beginnt die Installation. Das kann eine Weile dauern. Wenn es gegen Ende der Installationsausgabe fertig ist, sollten wir Folgendes sehen:

Output...
** testing if installed package can be loaded
* DONE (devtools)

Als Nächstes werden wir es testen, während wir ein Projekt direkt von GitHub abrufen und erstellen.

Schritt 3 - Installieren eines R-Pakets von GitHub

In diesem Schritt installieren wir die neueste Entwicklungsversion von Shiny, einem Webanwendungsframework für R, direkt von GitHub. Wir tun dies mit der Funktion "+ install_github ", die von " devtools " bereitgestellt wird. Ein GitHub-Paket wird durch seinen Autor (` rstudio `) und seinen Namen (` shiny `) definiert, die Sie auf der GitHub-URL der Hauptprojektseite finden: ` https: // github.com / +`.

Verwenden Sie zum Installieren den folgenden Befehl:

devtools::install_github('rstudio/shiny')

Die Installation wurde erfolgreich abgeschlossen, wenn gegen Ende die folgenden Zeilen angezeigt werden und die R-Eingabeaufforderung angezeigt wird:

Output. . .
** testing if installed package can be loaded
* DONE (shiny)
>

Wir können die spezifische Version von Shiny sehen, die wir mit dem folgenden Befehl installiert haben:

packageVersion("shiny")
Output[1] ‘0.14.0.9000’

Im nächsten Schritt werfen wir einen kurzen Blick auf Shiny. Wir müssen zunächst einige Aufgaben auf Systemebene ausführen, um den Monitor mit dem folgenden Befehl oder mit STRG-D zu beenden:

q()

In beiden Fällen werden Sie aufgefordert, Ihr Arbeitsbereichsbild zu speichern. Dies ist die Arbeitsumgebung von R, die benutzerdefinierte Objekte enthält. Dies ist nicht erforderlich, sodass Sie ohne Bedenken "+ n +" eingeben können.

Da wir einen Webbrowser verwenden, um ein Beispiel für die Möglichkeiten von Shiny zu sehen, stellen wir sicher, dass der Webdatenverkehr zulässig ist.

Überprüfen Sie die Firewall

Shiny ist ein Webanwendungsframework. Um die Beispiele in einem Browser anzeigen zu können, müssen Sie sicherstellen, dass der Webdatenverkehr auf unserer Firewall zulässig ist. Der integrierte Webserver wählt bei jedem Start einen Port nach dem Zufallsprinzip aus, es sei denn, er wird mit einem bestimmten Wert gestartet. Um die Firewall-Verwaltung zu vereinfachen, geben Sie bei der Ausführung unseres Beispiels Port 4040 an.

Überprüfen wir den Status der Firewall:

sudo ufw status

In diesem Fall ist nur SSH erlaubt durch:

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Möglicherweise gibt es andere Regeln oder gar keine Firewall-Regeln. Da in diesem Fall nur SSH-Verkehr zulässig ist, fügen wir Port 4040 hinzu und überprüfen den Status, wenn wir fertig sind:

sudo ufw allow 4040/tcp
sudo ufw status
OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
4040/tcp                   ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
4040/tcp (v6)              ALLOW       Anywhere (v6)

Wenn die Firewall konfiguriert ist, können Sie sich Shiny ansehen.

Run Shiny:

Wir stellen eine Verbindung zu R her, diesmal als regulärer Benutzer:

R

Als nächstes laden wir + shiny +:

library("shiny")

Shiny enthält elf integrierte Beispiele, die zeigen, wie es funktioniert. Wir werden die + shiny + Bibliothek laden und dann das erste Beispiel ausführen. Da wir auf einem Remote-Server arbeiten, geben wir die Host-Adresse an, um von unserem lokalen Computer aus zu browsen. Wir setzen außerdem "+ launch.browser" auf "+ FALSE", damit nicht versucht wird, einen Browser auf dem Remote-Server zu starten:

runExample("01_hello", host = "", port = 4040, launch.browser= FALSE)
OutputListening on http://:4040

Besuchen Sie diese URL in einem Webbrowser:

image: http: //assets.digitalocean.com/articles/R-1604/shiny-01-hello.png [Screenshot von Shinys 01-Hello-Beispiel]

Wir haben Shiny installiert, um zu veranschaulichen, wie mit "+ devtools +" direkt aus einem GitHub-Repository installiert wird. Anschließend haben wir die Beispielanwendung Shiny ohne erhöhte Berechtigungen ausgeführt, um sicherzustellen, dass alle Benutzer Zugriff auf das Paket haben.

Neuinstallation der Stable-Version von Shiny

In einer Produktionssituation würden wir von CRAN aus installieren, es sei denn, wir hätten einen zwingenden Grund, vom Repository aus zu installieren.

Nehmen wir uns einen Moment Zeit, um zum stabilen Paket zurückzukehren. Zuerst unterbrechen wir den Server mit STRG-C, beenden dann die R-Shell mit STRG-D und geben ihn erneut als root ein:

sudo -i R

Nachdem wir die Shell verlassen haben, werden wir aufgefordert, einen Spiegel auszuwählen, und wir werden ihn erneut auswählen.

Wir können die stabile Version mit dem folgenden Befehl installieren, der die Installation von GitHub überschreibt, die wir im vorherigen Schritt abgeschlossen haben:

install.packages("shiny")

Überprüfen wir die Versionsänderung:

packageVersion("shiny")
Output[1] ‘0.14’

Die Ausgabe zeigt an, dass anstelle von "+ 0.14.9000 +", der von GitHub installierten Version, jetzt die stabile Version ausgeführt wird.

Fazit

In diesem Tutorial haben wir das neueste Shiny-Paket direkt von GitHub installiert und gelernt, wie die stabile Version von CRAN neu installiert wird. Wenn Sie mehr über Shiny selbst erfahren möchten, lesen Sie möglicherweise RStudios Shiny tutorial. Möglicherweise interessieren Sie sich auch für installing the open source RStudio Server, eine Benutzeroberfläche auf eine Version von R, die auf einem Remote-Linux-Server ausgeführt wird und eine IDE für eine serverbasierte Bereitstellung bereitstellt.