10 nützliche R-Funktionen, die Sie vielleicht noch nicht kennen

10 nützliche R-Funktionen, die Sie vielleicht noch nicht kennen

R ist voll von einer Vielzahl von Funktionen. Im Folgenden werde ich zehn der interessantesten davon nennen, die viele vielleicht nicht kennen. Der Artikel erschien, nachdem ich herausgefunden hatte, dass meine Geschichten über einige der Funktionen von R, die ich in meiner Arbeit verwende, von meinen Programmierkollegen begeistert aufgenommen wurden. Wenn Sie bereits alles darüber wissen, entschuldige ich mich dafür, dass ich Ihre Zeit verschwendet habe. Wenn Sie etwas mitzuteilen haben, empfehlen Sie gleichzeitig etwas Nützliches in den Kommentaren.

Skillbox empfiehlt: Praktischer Kurs „Python-Entwickler“.

Erinnerung: für alle Leser von „Habr“ – ein Rabatt von 10 Rubel bei der Anmeldung zu einem beliebigen Skillbox-Kurs mit dem Aktionscode „Habr“.

Schaltfunktion

Ich mag switch() wirklich sehr, sehr. Tatsächlich ist es eine praktische Abkürzung für eine if-Anweisung, wenn ein Wert basierend auf dem Wert einer anderen Variablen ausgewählt wird. Ich finde das besonders nützlich, wenn ich Code schreibe, der einen bestimmten Datensatz basierend auf einer vorherigen Auswahl laden muss. Wenn Sie beispielsweise eine Variable mit dem Namen „Tier“ haben und einen bestimmten Datensatz auswählen möchten, je nachdem, ob es sich bei dem Tier um einen Hund, eine Katze oder ein Kaninchen handelt, schreiben Sie Folgendes:

Daten < — read.csv(
Schalter(Tier,
„dog“ = „dogdata.csv“,
„cat“ = „catdata.csv“,
„rabbit“ = „rabbitdata.csv“)
)

Diese Funktion ist in Shiny-Anwendungen nützlich, in denen Sie abhängig von einem oder mehreren Eingabemenüelementen unterschiedliche Datensätze oder Umgebungsdateien laden müssen.

Hotkeys für RStudio

Dieser Hack ist nicht so sehr für R, sondern für RStudio IDE. Allerdings sind Hotkeys immer sehr praktisch, sodass Sie bei der Texteingabe Zeit sparen können. Meine Favoriten sind Strg+Umschalt+M für den %>%-Operator und Alt+- für den <--Operator.

Um alle Hotkeys anzuzeigen, drücken Sie einfach Alt+Umschalt+K in RStudio.

Flexdashboard-Paket

Wenn Sie Ihr Shiny-Dashboard schnell starten müssen, gibt es nichts Besseres als das Dashboard-Paket. Es bietet die Möglichkeit, mit HTML-Verknüpfungen zu arbeiten, was wiederum das einfache und problemlose Erstellen von Seitenleisten, Zeilen und Spalten ermöglicht. Es besteht auch die Möglichkeit, eine Titelleiste zu verwenden, mit der Sie sie auf verschiedenen Seiten der Anwendung platzieren, Symbole, Verknüpfungen auf Github, E-Mail-Adressen und vieles mehr hinterlassen können.

Mit dem Paket können Sie im Rahmen von Rmarkdown arbeiten, sodass Sie alle Anwendungen in einer Rmd-Datei platzieren und sie nicht auf verschiedene Server und UI-Dateien verteilen können, wie dies beispielsweise bei Shinydashboard der Fall ist. Ich verwende Flexdashboard immer dann, wenn ich einen einfachen Dashboard-Prototyp erstellen muss, bevor ich an etwas Komplexem arbeite. Mit dieser Funktion können Sie innerhalb einer Stunde einen Prototyp erstellen.

Req- und Validierungsfunktionen in R Shiny

Die Entwicklung in R Shiny kann verwirrend sein, insbesondere wenn Sie ständig seltsame Fehlermeldungen erhalten, die es schwierig machen, zu verstehen, was vor sich geht. Aber im Laufe der Zeit entwickelt und verbessert sich Shiny, hier erscheinen immer mehr Funktionen, die es Ihnen ermöglichen, die Fehlerursache zu verstehen. Daher löst req() das Problem mit einem „stillen“ Fehler, wenn im Allgemeinen nicht klar ist, was vor sich geht. Sie können damit UI-Elemente anzeigen, die mit vorherigen Aktionen verknüpft sind. Lassen Sie es uns anhand eines Beispiels erklären:

Ausgabe$go_button < — Shiny::renderUI({

# Schaltfläche nur anzeigen, wenn eine Tiereingabe ausgewählt wurde

glänzend::req(input$animal)

# Anzeigetaste

glänzend::actionButton("go",
paste("Conduct", input$animal, "analysis!")
)
})

validate() prüft alles vor dem Rendern und gibt Ihnen die Möglichkeit, eine Fehlermeldung auszudrucken – zum Beispiel, dass der Benutzer die falsche Datei hochgeladen hat:

# CSV-Eingabedatei abrufen

inFile < – input$file1
data < – inFile$datapath

# Tabelle nur rendern, wenn es sich um Hunde handelt

glänzend::renderTable({
# Überprüfen Sie, ob es sich um die Hundedatei handelt, nicht um Katzen oder Kaninchen
glänzend::validieren(
need("Hundename" %in% colnames(data)),
„Spalte „Hundename“ nicht gefunden – haben Sie die richtige Datei geladen?“
)

technische Daten
})

Weitere Informationen zu all diesen Funktionen finden Sie hier.

Speichern Sie Ihre Zugangsdaten für sich selbst in der Systemumgebung

Wenn Sie vorhaben, Code freizugeben, der die Eingabe von Anmeldeinformationen erfordert, nutzen Sie die Systemumgebung, um zu vermeiden, dass Sie Ihre eigenen Anmeldeinformationen auf Github oder einem anderen Dienst hosten. Beispielplatzierung:

Sys.setenv(
DSN = „Datenbankname“,
UID = „Benutzer-ID“,
PASS = „Passwort“
)

Jetzt können Sie sich mit Umgebungsvariablen anmelden:

db < – DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("PASS")
)

Noch komfortabler (insbesondere wenn Sie die Daten häufig verwenden) ist es, sie direkt im Betriebssystem als Umgebungsvariablen festzulegen. In diesem Fall sind sie immer verfügbar und Sie müssen sie nicht im Code angeben.

Automatisieren Sie Tidyverse mit Styler

Das Styler-Paket kann Ihnen beim Aufräumen Ihres Codes helfen; es verfügt über viele Optionen, um den Codestil automatisch in Tidyverse zu übernehmen. Sie müssen lediglich styler::style_file() für Ihr problematisches Skript ausführen. Das Paket wird viel (aber nicht alles) tun, um die Ordnung wiederherzustellen.

Parametrisieren von R-Markdown-Dokumenten

Sie haben also ein großartiges R-Markdown-Dokument erstellt, in dem Sie verschiedene Fakten über Hunde analysieren. Und dann fällt Ihnen ein, dass es besser wäre, die gleiche Arbeit zu machen, aber nur mit Katzen. Kein Problem, Sie können die Erstellung von Katzenberichten mit nur einem Befehl automatisieren. Dazu müssen Sie lediglich Ihr R-Markdown-Dokument parametrisieren.

Sie können dies tun, indem Sie Parameter für den YAML-Header im angegebenen Dokument festlegen und dann die Wertparameter festlegen.

— Titel: „Tieranalyse“
Autor: „Keith McNulty“
Datum: „21. März 2019“
Ausgabe:
html_document:
code_folding: „verstecken“
Parameter:
Tiername:
Wert: Hund
Auswahlmöglichkeiten:
-Hund
- Katze
- Kaninchen
Studienjahre:
Eingabe: Schieberegler
min: 2000
max: 2019
Schritt 1
Runde 1
sep: "
Wert: [2010, 2017] —

Jetzt können Sie alle Variablen im Dokumentcode als params$animal_name und params$years_of_study registrieren. Dann verwenden wir das Dropdown-Menü „Stricken“ (oder knit_with_parameters()) und können Parameter auswählen.

10 nützliche R-Funktionen, die Sie vielleicht noch nicht kennen

revealjs

revealjs ist ein Paket, mit dem Sie großartige HTML-Präsentationen mit integriertem R-Code, intuitiver Navigation und Folienmenüs erstellen können. Mithilfe von HTML-Verknüpfungen können Sie schnell eine verschachtelte Folienstruktur mit verschiedenen Gestaltungsoptionen erstellen. Nun, HTML läuft auf jedem Gerät, sodass die Präsentation auf jedem Telefon, Tablet oder Laptop geöffnet werden kann. Die Offenlegung von Informationen kann konfiguriert werden, indem das Paket installiert und im YAML-Header aufgerufen wird. Hier ist ein Beispiel:

– Titel: „Erkundung der Grenzen des People Analytics-Universums“
Autor: „Keith McNulty“
Ausgabe:
revealjs::revealjs_presentation:
Mitte: ja
Vorlage:starwars.html
Thema: Schwarz
Datum: „HR Analytics Meetup London – 18. März 2019“
Ressourcendateien:
— darth.png
- Todesstern.png
- hanchewy.png
- Millennium.png
- r2d2-dreipio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Quellcode der Präsentation hier gepostet, und sie selbstrpubs.com/keithmcnulty/hr_meetup_london'>Präsentation - hier.

10 nützliche R-Funktionen, die Sie vielleicht noch nicht kennen

HTML-Tags in R Shiny

Die meisten Programmierer nutzen die HTML-Tags von R Shiny nicht voll aus. Dabei handelt es sich allerdings nur um 110 Tags, die es ermöglichen, einen kurzen Aufruf für eine HTML-Funktion oder Medienwiedergabe zu erstellen. Beispielsweise habe ich kürzlich tags$audio verwendet, um einen „Sieges“-Sound abzuspielen, der den Benutzer darauf aufmerksam machte, wenn eine Aufgabe abgeschlossen wurde.

Lobpaket

Die Verwendung dieses Pakets ist sehr einfach, wird jedoch benötigt, um dem Benutzer Lob zu zeigen. Es scheint seltsam, aber sie mögen es tatsächlich.

10 nützliche R-Funktionen, die Sie vielleicht noch nicht kennen

Skillbox empfiehlt:

Source: habr.com

Kommentar hinzufügen