Liste unterteilen - eine Plyr-Methode?

Ich habe oft Daten, die nach einer oder mehreren Variablen gruppiert sind, mit mehreren Registrierungen innerhalb jeder Gruppe. Aus dem Datenrahmen möchte ich Gruppen nach verschiedenen Kriterien auswählen.

Ich verwende normalerweise einen Split-Sapply-Rbind-Ansatz, bei dem ich Elemente aus einer Liste mit einem logischen Vektor extrahiere.

Hier ist ein kleines Beispiel. Ich beginne mit einem Datenrahmen mit einer Gruppierungsvariablen ('Gruppe') und möchte Gruppen auswählen, die eine maximale Masse von weniger als 45 haben:

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)

Ich habe gerade angefangen, Plyr zu verwenden, und jetzt frage ich mich:
Gibt es eine reine Plyr-Alternative, um dies zu erreichen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage