So ändern Sie Werte in einem Vektor in R

Ändern von Werten in einem Vektor in R ist eigentlich ziemlich einfach. Zur Veranschaulichung nehmen wir an, dass Sie zwei Vektoren erstellt, die Anzahl der Körbe, die Oma und Geraldine gemacht in sechs Basketball-Spiele enthalten, wie folgt:

> baskets.of.Granny lt; - c (12,4,4,6,9,3)> baskets.of.Geraldine lt; - c (5,3,2,2,12,9)

Aber nehmen wir an, dass Granny Ihnen sagt, dass Sie einen Fehler gemacht: Im dritten Spiel machte sie fünf Körbe, nicht vier. Sie können diesen Fehler leicht korrigieren Indizes wie folgt verwendet:

> Baskets.of.Granny [3] lt; - 5> baskets.of.Granny [1] 12 4 5 6 9 3

Die Zuordnung zu einem bestimmten Index ist eigentlich auch eine Funktion. Es ist anders, aber aus der Klammern Funktion, weil Sie auch die Wiederbeschaffungswerte als Argument geben. Boring technischen Sachen, sagen Sie? Nicht, wenn man bedenkt, dass, weil die Indexzuweisung eine vektorisiert Funktion ist, können Sie das Recycling verwenden können!

Stellen Sie sich vor, dass Sie zwei Fehler in der Anzahl von Körben, dass Omas Freund Geraldine hat gemacht: Sie hat tatsächlich viermal in der zweiten und vierten Spiele. Um die Körbe für Geraldine korrigieren, können Sie den folgenden Code verwenden:

> Baskets.of.Geraldine [c (2,4)] lt; - 4> baskets.of.Geraldine [1] 5 4 2 4 12 9

Wie cool ist das? Sie müssen vorsichtig sein, wenn. R hat Ihnen nicht sagen, wenn es Recycling-Werte ist, so ein Tippfehler kann dies zu unerwarteten Ergebnissen führen.

R nicht eine Undo-Taste, also, wenn Sie einen Vektor zu ändern, gibt es keinen Weg zurück. Sie können Katastrophen zu verhindern, indem man zuerst eine Kopie des Objekts erzeugt werden und dann die Werte in der Kopie zu ändern, wie im folgenden Beispiel gezeigt. Stellen Sie zunächst eine Kopie durch den Vektor zuweisen baskets.of.Granny auf das Objekt Granny.copy:

> Granny.copy lt; - baskets.of.Granny

Sie können überprüfen, was durch Eingabe des Namens in beiden Objekten ist auf der Kommandozeile und drücken Sie die Eingabetaste. Nun können Sie den Vektor ändern Körbe.von.Granny:

> Baskets.of.Granny [4] lt; - 11> baskets.of.Granny [1] 12 4 5 11 9 3

Wenn Sie einen Fehler machen, weisen Sie einfach den Vektor Granny.copy zurück zum Objekt baskets.of.Granny, so was:

> baskets.of.Granny lt; - Granny.copy> baskets.of.Granny [1] 12 4 5 6 9 3

Menü