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 sapplydie Längen berechnen, dann die entsprechenden Positionen der ersten Elemente berechnen (siehe cumsum) und dann diese Werte aus der unlisted-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 lapplyAnsatz.