#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
столбца? Все годы подвели итоги? Точно так же все месяцы? Все типы? и т.д.