So installieren Sie R-Pakete mit devtools unter Ubuntu 18.04

Einführung

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

In diesem Tutorial wird die Installation von devtools beschrieben und ein R-Paket direkt von GitHub aus installiert.

Voraussetzungen

Um diesem Tutorial folgen zu können, benötigen Sie einen Ubuntu 18.04 Server mit:

Sobald diese Voraussetzungen erfüllt sind, können Sie beginnen.

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 install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev

Mit diesen Abhängigkeiten können wir fortfahren.

Schritt 2 - Installation 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 systemweit 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')

Die Installation 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 von devtools bereitgestellten Funktion "+ install_github ". 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 der Ausgabe 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] ‘1.1.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 für unsere Zwecke nicht erforderlich, daher können Sie ohne Bedenken "+ n +" eingeben.

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, wir leiten ihn mit einem bestimmten Wert ein. Um die Firewall-Verwaltung zu vereinfachen, geben Sie bei der Ausführung unseres Beispiels Port 4040 an.

Lassen Sie uns den Status der Firewall überprüfen, sofern diese aktiviert ist:

sudo ufw status

Wenn Sie unsere vorausgesetzten Tutorials befolgt haben, ist nur SSH zulässig, wie in der folgenden Ausgabe angegeben:

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, werden wir Port 4040 hinzufügen und den Status überprüfen, 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. Stellen Sie sicher, dass Sie "+ R +" als Groß- und Kleinschreibung eingeben.

R

Als nächstes laden wir das Shiny-Paket:

library("shiny")

Shiny enthält elf integrierte Beispiele, die zeigen, wie es funktioniert. Wir laden die Bibliothek und führen dann das erste Beispiel aus. 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/r-shiny-1804.png [Screenshot von Shinys 01-Hello-Beispiel]

Wir haben Shiny installiert, um die Verwendung von devtools zur direkten Installation aus einem GitHub-Repository zu veranschaulichen. 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 "+ CTRL " + " C ", beenden dann die R-Shell mit " CTRL " + " D +" und geben ihn erneut als root ein:

sudo -i R

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] ‘1.1.0’

Die Ausgabe zeigt an, dass anstelle von "+ 1.1.0.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, besuchen Sie 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.