R Zertifizierung: Funktionen programmieren – Writing functions in R (DataCamp, Hadley und Charlotte Wickham)

Learning from the best: Dieser DataCamp-Kurs wurde tatsächlich von Hadley Wickham selbst entwickelt, zusammen mit seiner Schwester Charlotte Wickham. Die allermeisten R-Anwender werden schon nach kurzer Zeit auf den Namen Hadley Wickham stoßen, hat er doch zahlreiche R-Erweiterungs-Pakete programmiert (er soll bereits an 55 Paketen mitgewirkt haben! Tendenz steigend), darunter einige der Bekanntesten: ggplot2, dplyr, plyr, reshape, reshape2, stringr, tidyr, lubridate).

DataCamp Zertifizierung: Writing Functions in R
DataCamp Zertifikat: Writing Functions in R – Hadley Wickham und Charlotte Wickham

Einiges in diesem Kurs kam mir bekannt vor – nicht zuletzt, da ich gerade parallel sein Buch Advanced R (Chapman & Hall/CRC the R) lese. (Vielleicht gibt dazu mal einen separaten Blogbeitrag. Advanced R ist ebenso spannend wie anspruchsvoll. Wickham schlägt darin oft Übungen vor, mit denen man sich viele Stunden lang beschäftigen kann …)

Wie immer bei DataCamp war der Kurs sehr praxisorientiert – nach kurzen Videos tippt man R-Code direkt in den Browser und sieht sofort, ob man die Übung verstanden und gelöst hat. (By the way, ich erhalte keine Provision oder andere Vorteile von DataCamp!)

Kursinhalte:

  • Grundlagen: Bestandteile von Funktionen, Argumente, Umgebungen (environments), Datenstrukturen, Schleifen (for)
  • Wann sind Funktionen sinnvoll? Alternative zu Copy & Paste, Fehleranfälligkeit verringern, besser lesbaren und leichter verständlichen Code schreiben
  • Funktionales Programmieren, Funktionen als Argumente anderer Funktionen
  • Das purrr-Paket (ja, mit drei „r“)
  • Pipes (%>%) für noch einfacheren und besser lesbaren Code;
    kannte ich schon von dplyr; anfangs gewöhnungsbedürftig, aber es lohnt sich definitiv! Das wird jeder bestätigen, der schon mal mit Code von anderen R-Anwendern gearbeitet hat, der mehrfach geschachtelt war (mehrere Klammer-Ebenen)

Fehler in Funktionen mit sinnvollen Meldungen abfangen

Besonders interessant wurde es in den letzten beiden Abschnitten: Da ging es darum, wie man Fehler abfangen kann, sinnvolle Fehlermeldungen erzeugen kann, und vor allem gab es mehrere konkrete Beispiele, wie Fehler überhaupt entstehen können.

In so ziemlich jedem R-Kurs wird es früher oder später um die apply-Familie gehen: Funktionen wie apply, sapply, vapply usw. Hier wurde deutlich gezeigt, welche Probleme gerade sapply verursachen kann, wenn es innerhalb von Funktionen eingesetzt wird: es kann unterschiedliche Datentypen zurückliefern und damit zu unerwünschten Ergebnissen führen, die schlimmstenfalls erst später oder gar nicht auffallen.

Ich bin gespannt, ob sich Hadley Wickhams Alternativen, die datentyp-konsistenten Funktionen in purrr, durchsetzen und in absehbarer Zeit in der R-Welt bekannter werden: map, walk, map2, pmap und die typ-spezifischen Funktionen wie map_chr, map_lgl, map_int, map_dbl. Jedenfalls gibt es gute Gründe, sich damit vertraut zu machen.

Sie möchten lernen, eleganteren, besser lesbaren R-Code zu schreiben und Copy & Paste-Anteile zu verringern? Sprechen Sie mich an – ich unterstütze Sie gerne, z. B. mit einem Workshop.

Ein Gedanke zu „R Zertifizierung: Funktionen programmieren – Writing functions in R (DataCamp, Hadley und Charlotte Wickham)“

Freue mich über Kommentare!Antwort abbrechen

Hinweispflicht zu Cookies

Webseitenbetreiber müssen, um Ihre Webseiten DSGVO konform zu publizieren, ihre Besucher auf die Verwendung von Cookies hinweisen und darüber informieren, dass bei weiterem Besuch der Webseite von der Einwilligung des Nutzers in die Verwendung von Cookies ausgegangen wird.

Der eingeblendete Hinweis Banner dient dieser Informationspflicht.

Sie können das Setzen von Cookies in Ihren Browser Einstellungen allgemein oder für bestimmte Webseiten verhindern. Eine Anleitung zum Blockieren von Cookies finden Sie hier.

Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.
Die mobile Version verlassen