Wie die Komponenten in den Listen in R zu ändern

Ähnlich wie viele andere Objekte, die Sie in R begegnen, Listen sind nicht statische Objekte. Sie können Komponenten verändern, zu ergänzen Komponenten und Entfernen von Komponenten von ihnen in einer recht einfache Art und Weise.

Ändern Sie den Wert der Komponenten

einen neuen Wert auf eine Komponente in einer Liste zuweisen ist ziemlich einfach. Sie verwenden entweder die $ oder der [[]] diese Komponente zuzugreifen und einfach einen neuen Wert zuzuweisen. Wenn Sie die Werte in der Liste zu ersetzen baskets.nlist mit dem Datenrahmen baskets.df, zum Beispiel, können Sie eine der folgenden Optionen verwenden:

> Baskets.nlist [[1]] lt; - baskets.df> baskets.nlist [[# 147-Scores # 148-]] lt; - baskets.df> baskets.nlist $ Noten lt; - baskets.df

Wenn du benutzt [], die Geschichte ist ein bisschen anders. Sie können Komponenten ändern verwenden [] als gut, aber Sie haben eine Liste von Komponenten zuweisen. So zu tun, die gleiche wie die vorhergehenden Einstellungen [], Sie benötigen folgenden Code verwenden:

> Baskets.nlist [1] lt; - Liste (baskets.df)

Alle diese Optionen haben genau das gleiche Ergebnis, so können Sie sich fragen, warum Sie jemals die letzte Option verwenden würde. Ganz einfach: Mit [] ermöglicht es Ihnen, auf einmal mehr als eine Komponente zu ändern. Sie können sowohl die Saison ändern und die Noten in baskets.list mit der folgenden Codezeile:

> Baskets.list [1: 2] lt; - Liste (baskets.df, # 147-2009-2010 # 148-)

Diese Linie ersetzt die erste Komponente in baskets.list mit dem Wert von baskets.df, und die zweite Komponente baskets.list mit dem Zeichenwert # 147-2009-2010# 148-.

Entfernen von Komponenten

Entfernen von Komponenten ist noch einfacher: Gerade zuweisen die NULL Wert an die Komponente. In den meisten Fällen wird die Komponente einfach entfernt. So entfernen Sie die erste Komponente aus baskets.nlist, Sie können alle diese verwenden (und mehr) Optionen:

> Baskets.nlist [[1]] lt; - NULL> baskets.nlist $ Noten lt; - NULL> baskets.nlist [# 147-Noten # 148-] lt; - NULL

Mit einzelnen Klammern, haben Sie wieder die Möglichkeit, mehr als eine Komponente auf einmal zu löschen. Beachten Sie, dass in diesem Fall, Sie nicht über eine Liste mit dem Wert schaffen müssen NULL zuerst. Im Gegenteil, wenn Sie dies tun, würden Sie die Komponente den Wert geben NULL anstatt sie zu entfernen, wie im folgenden Beispiel gezeigt:

> baskets.nlist lt; - Liste (Partituren = baskets.df, Saison = # 147-2010-2011 # 148 -)> baskets.nlist [# 147-Noten # 148-] lt; - Liste (NULL)> baskets.nlist $ scoresNULL $ Saison [1] # 147-2010-2011 # 148-

Hinzufügen zusätzlicher Komponenten Indizes

Sie können entweder die Verwendung $ oder Indizes zusätzliche Variablen hinzuzufügen. Listen funktionieren auf die gleiche Weg- eine Komponente hinzuzufügen, genannt Spieler auf der Liste baskets.nlist, Sie können eine der folgenden Optionen verwenden:

> Baskets.nlist $ Spieler lt; - c (# 147-Granny # 148-, # 147-Geraldine # 148 -)> baskets.nlist [[# 147-Spieler # 148-]] lt; - c (# 147-Granny # 148-, # 147-Geraldine # 148 -)> baskets.nlist [# 147-Spieler # 148-] lt; - Liste (c (# 147-Granny # 148-, # 147-Geraldine # 148-))

Ebenso kann die gleiche Information als dritte Komponente zu der Liste hinzuzufügen, baskets.list, Sie können eine der folgenden Optionen verwenden:

> Baskets.list [[3]] lt; - c (# 147-Granny # 148-, # 147-Geraldine # 148 -)> baskets.list [3] lt; - Liste (c (# 147-Granny # 148-, # 147-Geraldine # 148-))

Diese letzten Optionen benötigen Sie genau wissen, wie viele Komponenten eine Liste hat, bevor eine zusätzliche Komponente hinzuzufügen. Ob baskets.list drei Komponenten enthalten bereits, würden Sie, dass man überschreiben, anstatt eine neue hinzuzufügen.

Die Kombination von Listen

Wenn Sie zu einer Liste hinzuzufügen Komponenten wollte, wäre es schön, wenn Sie dies tun können, ohne überhaupt zu den Indizes zu kümmern. Dafür Sie das einzige, was brauchen, ist eine Funktion, die Sie ausgiebig nutzen, die c () Funktion.

Das ist richtig, die c () Funktion - die Abkürzung für verketten ist - tut viel mehr als nur Vektoren, die aus einer Reihe von Werten zu schaffen. Das c () Funktion kann verschiedene Arten von Objekten zu kombinieren, und somit können verwendet werden Listen in eine neue Liste zu kombinieren sowie.

Um die Informationen über die Spieler in der Lage sein zu schreiben, müssen Sie zunächst eine Liste erstellen. Um sicherzustellen, dass Sie die gleiche Leistung haben, müssen Sie das Original wieder aufbauen baskets.list auch. Sie können beides mit dem folgenden Code:

> baskets.list lt; - Liste (baskets.team, # 147-2010-2011 # 148 -)> Spieler lt; - Liste (rownames (baskets.team))

Dann können Sie diese kombinieren Spieler Liste mit der Liste goal.list so was:

> C (baskets.list, Spieler) [[1]] 1. 2. 3. 4. 5. 6thGranny 12 4 5 6 9 3Geraldine 5 4 2 4 12 9 [[2]] [1] # 147-2010-2011 # 148 - [[3]] [1] # 147-Granny # 148- # 147-Geraldine # 148-

Wenn eine der Listen-Namen enthält, werden diese Namen als auch in dem neuen Objekt erhalten.

Menü