Поскольку вы не предоставили никаких воспроизводимых данных или примеров, мне пришлось представить несколько фиктивных данных:
# create dummy data
a <- list(x = 1, y = 1:4, z = 1:2)
# remove elements in list with lengths greater than 2:
a[which(lapply(a, length) > 2)] <- NULL
Если вы хотите удалить элементы с длиной, точно равной 2 (вопрос неясен), тогда последняя строка должна быть заменена на:
a[which(lapply(a, length) == 2)] <- NULL