Мне нужно создать модифицированный набор данных, объединяющий несколько строк. Мне нужно это с 3 требованиями:
(посмотрите изображение ниже, чтобы понять названия столбцов)
- То же «date_time», затем
- Тот же «Тип», затем
- Суммируйте строки в столбце «Количество».
Я мог бы сделать это вручную, как вы можете видеть на картинке, но я не мог найти способ масштабировать это.
Может ли кто-нибудь помочь с тем, какие инструменты манипулирования данными лучше всего подходят для такой проблемы?
Я хочу преобразовать это:
к этому:
Для воспроизведения первого набора данных:
structure(list(date_time = structure(c(1517516099, 1517516099,
1517516099, 1517516099, 1517516095, 1517516092, 1517516092, 1517516092,
1517516092, 1517516092, 1517516092, 1517516088, 1517516084, 1517516081,
1517516074, 1517516073, 1517516071, 1517516068, 1517516061, 1517516053
), class = c("POSIXct", "POSIXt"), tzone = ""), Buyer_from = c("127 - TULLETT PREBON",
"127 - TULLETT PREBON", "127 - TULLETT PREBON", "3 - XP Investimentos CCTVM S/A",
"85 - BTG Pactual CTVM S.A.", "85 - BTG Pactual CTVM S.A.", "147 - ATIVA INVESTIMENTOS S.A. CTCV",
"147 - ATIVA INVESTIMENTOS S.A. CTCV", "147 - ATIVA INVESTIMENTOS S.A. CTCV",
"147 - ATIVA INVESTIMENTOS S.A. CTCV", "147 - ATIVA INVESTIMENTOS S.A. CTCV",
"147 - ATIVA INVESTIMENTOS S.A. CTCV", "147 - ATIVA INVESTIMENTOS S.A. CTCV",
"115 - H.COMMCOR DTVM LTDA", "115 - H.COMMCOR DTVM LTDA", "8 - UBS BRASIL CCTVM S/A",
"3 - XP Investimentos CCTVM S/A", "8 - UBS BRASIL CCTVM S/A",
"8 - UBS BRASIL CCTVM S/A", "8 - UBS BRASIL CCTVM S/A"), Price = c(3176.5,
3176.5, 3176.5, 3176.5, 3177, 3177, 3177.5, 3177.5, 3177.5, 3177.5,
3177.5, 3177.5, 3177.5, 3177.5, 3177.5, 3178, 3178.5, 3178, 3178,
3178), Quantity = c(10, 5, 50, 5, 5, 5, 55, 5, 5, 5, 30, 70,
30, 10, 10, 5, 5, 10, 5, 10), Seller_from = c("85 - BTG Pactual CTVM S.A.",
"122 - BGC LIQUIDEZ DTVM", "85 - BTG Pactual CTVM S.A.", "3 - XP Investimentos CCTVM S/A",
"88 - CM Capital Markets CCTVM LTDA", "122 - BGC LIQUIDEZ DTVM",
"122 - BGC LIQUIDEZ DTVM", "122 - BGC LIQUIDEZ DTVM", "8 - UBS BRASIL CCTVM S/A",
"8 - UBS BRASIL CCTVM S/A", "92 - RENASCENÇA DTVM LTDA", "92 - RENASCENÇA DTVM LTDA",
"85 - BTG Pactual CTVM S.A.", "85 - BTG Pactual CTVM S.A.", "122 - BGC LIQUIDEZ DTVM",
"122 - BGC LIQUIDEZ DTVM", "3 - XP Investimentos CCTVM S/A",
"77 - CITIGROUP GMB CCTVM S.A.", "386 - RICO INVESTIMENTOS - GRUPO XP",
"386 - RICO INVESTIMENTOS - GRUPO XP"), Type = structure(c(4L,
4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 4L, 1L, 4L, 4L, 4L, 1L,
4L, 4L, 4L), .Label = c("Buyer", "3", "4", "Seller"), class = "factor")), row.names = c(NA,
20L), class = "data.frame")