Как добавить количество уникальных значений по группе в R data.frame

Я хочу подсчитать количество уникальных значений, сгруппировав вторую переменную, а затем добавить счет к существующему data.frame в качестве нового столбца. Например, если существующий фрейм данных выглядит следующим образом:

  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

Я хочу добавить для каждогоcolorКоличество уникальныхtypes которые присутствуют в данных:

  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

Я надеялся использоватьave, но может'кажется, не найти простой метод, который нет требует много строк. У меня есть>100 000 строк, поэтому я также не уверен, насколько важна эффективность.

Это'Несколько похоже на эту проблему:Подсчитайте количество наблюдений / строк на группу и добавьте результат во фрейм данных

Ответы на вопрос(3)

Ваш ответ на вопрос