2017-06-25 2 views
2

Wenn ich will „verschmelzen“ zwei Listen, die ich in der Regel verwenden Sie die c -function:Named Listenmitglieder mit dem gleichen Namen

merge <- c(list(a=1), list(a=2)) 

Jetzt habe ich eine Liste mit zwei gleich benannten Mitgliedern.

merge 
$a 
[1] 1 

$a 
[1] 2 

merge ist eine Liste von 2, aber ich kann nicht das zweite Element zugreifen, indem Sie den Namen (nur Nummer).

Kann jemand die Interna von R erklären, die dieses Verhalten ermöglichen? Ich habe ein Verhalten erwartet, das einem Wörterbuch ähnelt, aber es scheint, dass dies nicht erzwungen wird. Nicht einmal ein Fehler ...

Ich frage mich auch, ob ich in der richtigen Weise "fusioniere".

Antwort

1

Es kann besser sein, verschiedene Namen für den Zugriff auf die Elemente zu verwenden. Hierzu können wir die make.unique

names(merge) <- make.unique(names(merge), sep="") 
merge$a 
#[1] 1 
merge$a1 
#[1] 2 
verwenden
Verwandte Themen