Comment ajouter le nombre de valeurs uniques par groupe de R des données.cadre

Je souhaite compter le nombre de valeurs uniques par groupe d'une deuxième variable, puis ajouter le comte de données existantes.cadre dans une nouvelle colonne. Par exemple, si les données existantes cadre ressemble à ceci:

  color  type
1 black chair
2 black chair
3 black  sofa
4 green  sofa
5 green  sofa
6   red  sofa
7   red plate
8  blue  sofa
9  blue plate
10 blue chair

Je veux ajouter pour chaque color, le comte de unique types qui sont présents dans les données:

  color  type unique_types
1 black chair            2
2 black chair            2
3 black  sofa            2
4 green  sofa            1
5 green  sofa            1
6   red  sofa            2
7   red plate            2
8  blue  sofa            3
9  blue plate            3
10 blue chair            3

J'espérais utiliser ave, mais n'arrive pas à trouver une méthode simple qui ne nécessite pas beaucoup de lignes. J'ai >100 000 lignes, alors je ne suis également pas sûr de la façon importante l'efficacité est.

C'est un peu similaire à ce problème: Compter le nombre d'observations/nombre de lignes par groupe et ajouter le résultat à la trame de données

InformationsquelleAutor Bryan | 2013-07-02