Subset elementos en una lista basada en una condición lógica

¿Cómo puedo subconjuntar una lista basada en una condición (VERDADERO, FALSO) en otra lista? Por favor, vea mi ejemplo a continuación:

l <- list(a=c(1,2,3), b=c(4,5,6,5), c=c(3,4,5,6))
l
$a
[1] 1 2 3

$b
[1] 4 5 6 5

$c
[1] 3 4 5 6

cond <- lapply(l, function(x) length(x) > 3)
cond
$a
[1] FALSE

$b
[1] TRUE

$c
[1] TRUE

> l[cond]

Error en l [cond]: tipo de subíndice no válido 'lista'

Respuestas a la pregunta(6)

Su respuesta a la pregunta