Für Ihre Beispielliste können Sie einfach Folgendes tun:
unlist(x)[ c(TRUE,FALSE) ]
Das hängt jedoch davon ab, dass jede Unterliste genau 2 Elemente enthält.
Wenn es eine unterschiedliche Anzahl von Elementen gibt, können Sie zuerst sapply
die Längen berechnen, dann die entsprechenden Positionen der ersten Elemente berechnen (siehe cumsum
) und dann diese Werte aus der unlist
ed-Liste auswählen . Aber zu diesem Zeitpunkt ist die akzeptierte Antwort wahrscheinlich viel einfacher.
Wenn alle Unterlisten dieselbe Länge haben (sich aber von 2 unterscheiden können), können Sie Folgendes tun:
do.call( rbind, x)[,1]
oder eine andere Besetzung eines gemeinsamen Objekts. Ich bezweifle jedoch, dass dies genauso effizient wäre wie der lapply
Ansatz.