Sous-ensemble de données d'image basé sur le nombre de lignes par groupe

J'ai des données de ce genre, où certains "nom" produire plus de 3 fois:

df <- data.frame(name = c("a", "a", "a", "b", "b", "c", "c", "c", "c"), x = 1:9)

Je souhaite sous-ensemble (filtre) les données sont basées sur le nombre de lignes (observations) au sein de chaque niveau de la "nom de variable". Si un certain niveau de "nom" se produit plus que de dire 3 fois, je veux supprimer toutes les lignes appartenant à ce niveau.

J'ai écrit ce code, mais ne peut pas le faire fonctionner.

as.data.frame(table(unique(df)$name))
subset(df, name > 3)

OriginalL'auteur SJSU2013 | 2013-11-25