Я хочу подсчитать количество уникальных значений, группируя вторую переменную, а затем добавьте счет в существующий 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 строк, поэтому я также не уверен, насколько важна эффективность.
Это несколько похоже на эту проблему: Подсчитайте количество наблюдений/строк на группу и добавьте результат в кадр данных