Wie aus einem Script, um eine Funktion in R zu bewegen

Wenn man von einem Skript auf eine Funktion übernehmen überhaupt nicht viel Aufwand. In R ist eine Funktion im Wesentlichen ein Stück Code, das fortlaufend und ohne Unterbrechung ausgeführt wird. Auf diese Weise unterscheidet sich eine Funktion nicht so viel von einem Skript Lauf mit der Quelle()

Funktion.

Allerdings ist eine Funktion hat zwei sehr schöne Vorteile gegenüber Skripte:

  • Funktionen können mit variablen Eingangs arbeiten, so dass Sie es verwenden, mit unterschiedlichen Daten.

  • Funktionen liefern die Ausgabe als ein Objekt, so dass Sie mit dem Ergebnis dieser Funktion arbeiten kann.

Der beste Weg, um schwimmen zu lernen, ist durch in Sprung ins kalte Wasser, so dass beim nächsten Sie eine Funktion, um zu sehen, wie einfach schreiben dies in R. ist

Machen Sie das Skript

Angenommen, Sie gebrochene Zahlen (zum Beispiel 1/2) als Prozentsätze, schön gerundet auf eine Nachkommastelle präsentieren wollen. Hier ist, wie das zu erreichen:

  1. Multiplizieren Sie die Bruchzahlen um 100.

  2. Runden Sie das Ergebnis auf eine Dezimalstelle.

    Sie können die Verwendung runden() Funktion, dies zu tun.

  3. Fügen Sie ein Prozentzeichen nach der gerundeten Zahl.

    Das Paste() Funktion steht Ihnen diese Aufgabe zu erfüllen.

  4. Drucken Sie das Ergebnis.

    Das drucken() Funktion tut dies.

Sie können ganz einfach diese Schritte in ein kleines Skript für R. So öffnen Sie eine neue Skriptdatei in einem Editor, und geben Sie den folgenden Code übersetzen:

x lt; - c (0,458, 1,6653, 0,83112) Prozent lt; - Runde (x * 100, Ziffern = 1) Ergebnis lt; - Paste (in Prozent, # 147 -% # 148-, sep = # 147- # 147-) print (Ergebnis)

Wenn Sie dieses Skript als Skript-Datei speichern - zum Beispiel, pastePercent.R - Sie können nun mit dem folgenden Befehl das Skript in der Konsole aufrufen:

> Source (# 147-pastePercent.R # 148 -) [1] # 147-45,8% # 148- # 147 bis 166,5% # 148- # 147-83,1% # 148-

Das funktioniert hervorragend, so lange wie Sie die gleichen drei Zahlen jedes Mal, wenn Sie rufen Sie das Skript zu sehen. Aber mit dem Skript für andere Daten würden leicht unbequem sein, weil Sie das Skript jedes Mal ändern müssten.

In den meisten Editoren können Sie auch Quelle ein Skript mit einem einfachen Klick (ein komplettes Skript-Datei an die R-Konsole senden). In RStudio wird dies ohne Echo, indem Sie auf die Source-Taste oder durch Drücken von Strg + Shift + S für die Beschaffung durchgeführt, und Strg + Umschalt + Enter mit Echo für die Beschaffung.

Die Umwandlung des Skripts

Um dieses Skript in eine Funktion zu machen, müssen Sie ein paar Dinge zu tun. Stellen Sie sich das Skript als eine kleine Fabrik, die das rohe numerische Material nimmt und poliert es jeder Mathematiker glänzend Prozentsätze werden sehnen.

Zuerst müssen Sie die Fabrikgebäude bauen, vorzugsweise mit einer Adresse, damit die Menschen wissen würden, wo ihre Zahl zu senden. Dann müssen Sie ein Eingangstor zu installieren, so dass Sie die rohen Zahlen zu bekommen. Als Nächstes erstellen Sie die Fertigungslinie, diese Zahlen zu transformieren. Schließlich haben Sie ein Back-Gate zu installieren, so dass Sie Ihre glänzenden Prozentsätze in die Welt senden.

Um Ihre Fabrik bauen, ändern Sie das Skript den folgenden Code:

addPercent lt; - Funktion (x) {Prozent lt; - Runde (x * 100, Ziffern = 1) Ergebnis lt; - Paste (in Prozent, # 147 -% # 148-, sep = # 147- # 147-) return (Ergebnis)}

Nehmen Sie einen näheren Blick auf die verschiedenen Teile, die diese kleine Fabrik bilden. Die Funktion hat die folgenden Elemente:

  • Das Schlüsselwort Funktion muss immer in Klammern folgen. Es sagt R dass das, was als nächstes kommt eine Funktion ist.

  • Die Klammern nach Funktion bilden das vordere Tor, oder Argumentliste, Ihrer Funktion. Zwischen den Klammern sind die Argumente der Funktion gegeben. In diesem Fall ist es nur ein Argument, mit dem Namen x.

  • Die geschweiften Klammern, {}, können als die Wände Ihrer Funktion zu sehen. Alles, was zwischen den Klammern ist Teil der Montagelinie oder die Körper Ihrer Funktion.

  • Das Rückkehr() Aussage ist das Rückgate Ihrer Funktion. Das Objekt, das Sie zwischen den Klammern gesetzt wird aus dem Inneren der Funktion zu Ihrem Arbeitsbereich zurückgeführt. Sie können nur ein Objekt zwischen den Klammern gesetzt.

Wenn Sie das alles zusammen, erhalten Sie eine vollständige Funktion, aber R weiß nicht, wo es noch zu finden. So verwenden Sie den Zuweisungsoperator lt; - diese komplette Funktion in ein Objekt zu setzen benannt addPercent. Dies ist die Adresse R Zahlen für die Transformation zu senden. Jetzt hat die Funktion einen schönen Namen und ist sofort einsatzbereit.

Sie können nicht in der Liste der Argumente angeben, dass x sollte ein numerischer Vektor sein. Versuchen Sie zum Beispiel, wenn Sie ein Zeichen Vektor als Wert zu verwenden, um x, die Multiplikation im Inneren des Körpers wirft einen Fehler, weil Sie nicht Zeichen durch eine Zahl multiplizieren können. Wenn Sie steuern möchten, welche Art von Objekt als Argument angegeben, müssen Sie dies manuell zu tun, im Körper der Funktion.

Menü