Para sua lista de exemplos, você pode apenas fazer:
unlist(x)[ c(TRUE,FALSE) ]
mas isso depende de cada sublista ter exatamente 2 elementos.
Se houver diferentes números de elementos, você pode primeiro fazer um sapply
para calcular os comprimentos, depois calcular as posições do primeiro elemento correspondente (consulte cumsum
) e, em seguida, selecionar esses valores da unlist
lista ed. Mas a essa altura, a resposta aceita provavelmente é muito mais simples.
Se todas as sublistas tiverem o mesmo comprimento (mas podem ser diferentes de 2), você pode fazer algo como:
do.call( rbind, x)[,1]
ou algum outro elenco para um objeto comum. Mas duvido que isso seja tão eficiente quanto a lapply
abordagem.