Agrupa y cuenta elementos HTML por atributo de datos en jQuery

Estoy tratando de agrupar cada instancia de un atributo de datos en una lista de la cantidad de ocurrencias de cada atributo en una página, usando jQuery. Similar a agrupar categorías o etiquetas en una sección de noticias.

Por ejemplo, me gustaría crear algo como esto:

Categoría 1 (5)Categoría 2 (3)Categoría 3 (1)

de este html:

<ul class="categories">
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-3">Category 3</li>
</ul>

¿Cómo puedo lograr esto en jQuery? ¿Es incluso posible?

Respuestas a la pregunta(5)

Su respuesta a la pregunta