Как реализовать логику сводной таблицы в R с помощью Group By

#r #group-by

Вопрос:

Я новичок в RStudio и хотел бы решить следующую проблему:

У меня есть набор данных, содержащий следующие данные:

Идентификатор пользователя год месяц Тип Категория Цена
строка yyyy мм строка строка строка

Теперь я хотел бы, чтобы в конце была таблица, показывающая на каждого Пользователя, за год, за месяц, за Тип, за категорию, сколько он/она потратил (сумма цены).

теперь я попробовал это через group by, что не дает желаемого результата.

желаемый результат должен выглядеть как сводная таблица в Excel:

введите описание изображения здесь

Есть ли способ каскадировать группировку? Например, переходить по уровням группировки, аналогичным тому, что у вас есть в сводной таблице.

Я действительно ценю любую помощь!

 data_group lt;- data_merged %gt;%   group_by(userID, year, month, type,category) %gt;%  summarize(balance = sum(price)) %gt;%  ungroup() %gt;%  as.data.frame()  

Комментарии:

1. Добро пожаловать в SO! Могли бы поделиться воспроизводимым примером набора данных с помощью dput ? Кроме того, что вы подразумеваете под «каскадом»? это может помочь, если вы также предоставите ожидаемый результат.

2. Попробуйте использовать функцию mutate вместо summarize

3. Желаемый результат неясен. Пожалуйста, проиллюстрируйте это фактическими данными. Например, что year_sum_price значит без year столбца? Все годы подвели итоги? Точно так же все месяцы? Все типы? и т.д.