Wie Sie Ihre Funktionen in R vektorisieren

Vectorized Funktionen sind eine sehr nützliche Funktion von R, aber Programmierer, die in andere Sprachen verwendet werden, haben oft Schwierigkeiten mit diesem Konzept auf den ersten. EIN vektorisiert Funktion ist nicht nur auf einem einzelnen Wert, sondern auf einer ganzen Vektor von Werten in der gleichen Zeit.

Ihr natürlicher Reflex als Programmierer in einer Schleife über alle Werte des Vektors sein können und wenden Sie die Funktion, aber Vektorisierung macht das überflüssig. Vertrauen Sie uns: Wenn Sie mit Vektorisierung in R beginnen, wird es Ihren Code vereinfachen.

Um vektorisiert Funktionen versuchen, müssen Sie einen Vektor zu machen. Sie tun dies, indem die Verwendung von c () Funktion, das steht für verketten.Die aktuellen Werte werden durch Komma getrennt.

Hier ein Beispiel: Nehmen wir an, dass Oma spielt Basketball mit ihrer Freundin Geraldine, und Sie halten eine Punktzahl von Omas Anzahl von Körben in jedem Spiel. Nach sechs Spielen, wollen Sie wissen, wie viele Körbe Granny in dieser Saison bisher gemacht hat. Sie können diese Zahlen in einem Vektor setzen, wie folgt aus:

> baskets.of.Granny lt; - c (12,4,4,6,9,3)> baskets.of.Granny [1] 12 4 4 6 9 3

Um die Gesamtzahl der Körbe Granny gemacht zu finden, geben Sie einfach die folgenden Schritte aus:

> Summe (baskets.of.Granny) [1] 38

Sie könnten das gleiche Ergebnis, indem Sie über die Vektorzahl nach Anzahl und fügte hinzu, jede neue Zahl zur Summe der vorherigen Zahlen, aber diese Methode würde verlangen, dass Sie mehr Code zu schreiben, und es würde länger dauern, zu berechnen. Sie werden es nicht nur sechs Zahlen bemerken, aber der Unterschied offensichtlich sein wird, wenn Sie ein paar tausend von ihnen zu summieren haben.

In diesem Beispiel der Vektorisierung verwendet eine Funktion, um die vollständige Vektor Sie ein Ergebnis zu geben. Zugegeben, dieses Beispiel trivial ist (Sie haben vielleicht schon erraten, dass Summe() würde erreichen das gleiche Ziel), sondern auch für andere Funktionen in R kann die Vektorisierung weniger offensichtlich.

Ein weniger offensichtliches Beispiel für eine vektorisiert Funktion ist die Paste() Funktion. Wenn Sie einen Vektor mit den Vornamen der Mitglieder Ihrer Familie zu machen, Paste() den Nachnamen, alle von ihnen mit einem Befehl, wie in dem folgenden Beispiel können hinzufügen:

> Vornamen lt; - c ( "Joris", "Carolien", "Koen")> Nachname lt; - "Meys"> Paste (Vornamen, Nachname) [1] "Joris Meys" "Carolien Meys" "Koen Meys"

R nimmt den Vektor Vornamen und fügt dann die Familienname, Nachname in jeden Wert. Wie cool ist das? Tatsächlich kombiniert R zwei Vektoren. Der zweite Vektor - in diesem Fall Familienname, Nachname - ist nur ein Wert lang. Dieser Wert wird recycelt bis zum Paste() funktioniert so lange wie nötig.

Sie können auch R zwei längere Vektoren geben, und R wird sie Element für Element, wie dies kombinieren:

> Autoren lt; - c ( "Andrie", "Joris")> lastnames lt; - c ( "de Vries", "Meys")> Paste (Autoren, lastnames) [1] "Andrie de Vries" "Joris Meys"

Keine komplizierten Code erforderlich ist. Alles, was Sie tun müssen, ist die Vektoren machen und sie in der Funktion setzen.

Menü