¿Subconfigurar una lista - a manera plyr?

A menudo tengo datos que están agrupados por una o más variables, con varios registros dentro de cada grupo. Desde el marco de datos, deseo seleccionar grupos de acuerdo a varios criterios.

Normalmente utilizo un enfoque split-sapply-rbind, donde extraigo elementos de una lista utilizando un vector lógico.

Aquí hay un pequeño ejemplo. Comienzo con un marco de datos con una variable de agrupación ('grupo'), y deseo seleccionar grupos que tengan una masa máxima de menos de 45:

dd <- data.frame(group = rep(letters[1:3], each = 5), 
                 mass = c(rnorm(5, 30), rnorm(5, 50), 
                          rnorm(5, 40)))
    dd2 <- split(x = dd, f = dd$group)
    dd3 <- dd2[sapply(dd2, function(x) max(x$mass) < 45)]
    dd4 <- do.call(rbind, dd3)

Acabo de empezar a usar plyr, y ahora me pregunto:
¿Existe una alternativa plyr-only para lograr esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta