Geben Sie Namen zu der Liste variable
so wissen wir, dass R haben list()
variable, und wissen auch, dass die R-Funktion aufrufen names()
zu geben, Namen für Variablen. Zum Beispiel :
a=30
names(a)="number"
a
# number
# 30
Aber jetzt möchte ich in einer Liste Variablen-Namen, wie diese :
b=list()
names(b)="number"
und es gibt Fehlermeldungen wie diese :
Error in names(b) = "number" :
'names' attribute [1] must be the same length as the vector [0]
Was ich wohl zu tun? Ich mache das, weil ich viele "Variablen auflisten". Oder haben Sie einen anderen Weg, so kann ich viele " Variablen auflisten, ohne selbst zu spielen mit seinem Namen?
In dem vorherigen Fall, es hat eine Länge von 1, in der
danke, es ist Arbeit!
list
es wird 0-Länge. Wenn Sie b = list(30); names(b) <- 'number'
sollte funktionierendanke, es ist Arbeit!
InformationsquelleAutor mthbnd | 2015-12-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da @akrun braucht keine Punkte mehr, hier ist ein Beispiel zeigt, wie Sie zuweisen können die Namen auf einer Liste:
InformationsquelleAutor Tim Biegeleisen
Scheint es, als ob Sie daran interessiert sind, die Kennzeichnung das Objekt selbst, anstatt die Elemente in es. Der Schlüssel ist, dass die
names
Attribut für ein list-Objekt ist zwingend zugewiesen sind seine Elemente. Eine option, da Sie sagten, Sie haben viele Liste von Objekten, ist die Speicherung der Listen in einer großen Liste und dann können Sie die Namen zuordnen, die große Liste, und die Elemente in der list-Objekte können benannt werden zu können.Andere option, können Sie Gebrauch machen von der
label
Funktion in derHmisc
Paket. Es ändert häufigsten Objekte in R eine Unterklasse "gekennzeichnet" und so, Wann immer Sie drucken die Liste, zeigt es das label. Es ist gut für die Dokumentation und Organisation des Arbeitsbereichs ein bisschen besser, aber Nachteil es ist sehr leicht versehentlich cast gekennzeichnet Objekte auf einen nicht-markierten Klasse und zu verwirren, Methoden, glaube nicht, dass die Suche für mehr als eine Klasse.Eine weitere Möglichkeit ist der "name" Ihrer Liste-Objekt eine aktuelle element der Liste. Sie werden sehen, eine Menge von komplexen R-Daten-Strukturen, ist dies die bevorzugte Art der Speicherung von Beschriftungen, Titel, Namen oder, wenn eine solche Notwendigkeit entsteht, und nicht erfüllt von der Basis-R-Daten-Struktur.
Die Letzte Möglichkeit ist, dass Sie brauchen ein Platzhalter zum speichern der "name" - Attribut der Elemente, die Sie noch nicht aufgefüllt, die Liste mit. Wenn die Elemente von bekannter Länge und bekannter Art, können Sie reservieren ein solcher Vektor mit z.B.
numeric(1)
eine Art "grundiert" - Vektor, die benannt werden können. Wenn Sie nicht wissen, die Daten, die Struktur der Ausgabe, würde ich nicht verwenden Sie diesen Ansatz, da es ein echter Speicherfresser zu "bauen" Datenstrukturen in R.InformationsquelleAutor AdamO
Andere Möglichkeiten sind
InformationsquelleAutor niko