Как заменить все строки данных, сгруппированные по заданным условиям c, если в данных больше строк, чем в замене? - PullRequest
0 голосов
/ 29 мая 2020

dput (ДАТА КОД САЙТА D1 D2 D3 D4 D5 D6 D7 D8 D9 H RowTotal 1 2019-07-03 JUP AAGA 0 0 0 0 0 0 0 1 0 15 16 2 2019-07-03 JUP EFAS 0 0 0 0 0 0 0 0 0 1 1 3 2019-07-03 JUP MANG 0 0 0 0 0 0 0 0 0 1 1 4 2019-07-03 JUP MCAV 0 0 0 0 0 0 0 0 0128128 5 2019-07- 03 JUP MDE C 0 0 0 0 0 0 0 0 0 1 1 6 2019-07-03 JUP MMEA 0 0 0 0 0 0 0 0 0 1 1 7 2019-07-03 JUP OANN 0 0 0 0 0 0 0 0 0 2 2 8 2019-07-03 JUP PAST 0 0 0 0 0 0 0 0 0 17 17 9 2019-07-03 JUP SBOU 0 0 0 0 0 0 0 0 0 2 2 10 2019-07-03 JUP SINT 0 0 0 0 0 0 0 0 0 9 9 11 2019-07-03 JUP SRAD 0 0 0 0 0 0 0 0 0 1 1 12 2019-07-03 JUP SSID 0 0 0 0 0 0 0 0 0 5 5 13 2019-07-19 SLR ISIN 0 0 0 0 0 0 0 0 0 1 1 14 2019-07-19 SLR MCAV 0 0 0 0 0 0 0 0 1 1 2 16 2019-07-19 SLR PCLI 0 0 0 0 0 0 0 0 2 5 7 17 2019-07-19 SLR SBOU 0 0 0 0 0 0 0 0 0 1 1 18 2019-07-19 SLR SSID 0 0 0 0 0 0 0 1 0 8 9 19 2019-07- 26 PMP AAGA 0 0 0 0 0 0 0 0 0 7 7 20 2019-07-26 PMP ACER 0 0 0 0 0 0 0 0 0 57 57 21 2019-07-26 PMP CNAT 0 0 0 0 0 0 0 0 0 1 1 22 2019-07-26 ПМП ДСТО 0 0 0 0 0 0 0 0 1 1 2 23 2019-07-26 PMP MAUR 0 0 0 0 0 0 0 0 0 0 14 14 24 2019-07-26 PMP MCAV 0 0 0 0 0 0 0 0 14 285 299)

Это мой набор данных. Я пытаюсь добавить новый столбец с SiteTotal, добавляя RowTotals, которые соответствуют тем же условиям Date и Site. Я пробовал несколько вещей в dplyr: group_by, summarize, et c. Я постоянно сталкиваюсь с проблемой замены меньшего количества строк, чем набор данных. Например, с group_by(Date, Site, RowTotal) для этого набора данных мы заменим 3, но есть 24 строки. Есть ли способ заполнения каждой строки, отвечающей условиям. Моя конечная цель - найти распространенность "кода" для каждого сайта в указанную c дату.

Ожидаемый столбец, который мне нужен, будет SiteTotal, показанным ниже:

(184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 429 , 429, 429, 429, 429, 429, 81, 81, 81, 81, 81)

Конечная цель - взять мой столбец RowTotal и разделить его на столбец SiteTotal, чтобы найти «распространенность кода» на указанная c дата и сайт.

1 Ответ

0 голосов
/ 30 мая 2020

Вы можете использовать mutate, чтобы добавить столбец

df1 %>% group_by(DATE, SITE) %>% mutate(SiteTotal = sum(RowTotal))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...