Для вашого списку прикладів ви можете просто зробити:
unlist(x)[ c(TRUE,FALSE) ]
але це залежить від кожного підсписку, що має рівно 2 елементи.
Якщо існує різна кількість елементів, тоді спочатку можна зробити sapplyобчислення довжин, потім обчислити відповідні позиції 1-го елемента (див. cumsum), А потім вибрати ці значення зі списку unlisted. Але на той час прийнята відповідь набагато простіша.
Якщо всі підсписки мають однакову довжину (але можуть відрізнятися від 2), ви можете зробити щось на зразок:
do.call( rbind, x)[,1]
або якийсь інший кидок на загальний предмет. Але я сумніваюся, що це було б настільки ж ефективно, як і lapplyпідхід.