У меня есть этот код, который разбивает мои данные на 28 дней:
> inc2$RealDate <- as.Date(inc2$FROM_DATE, format = "%m/%d/%Y")
> inc2$RealDate <- as.Date(inc2$FROM_DATE, format = "%m/%d/%Y")
> dategp <- seq(min(inc2$RealDate), max(inc2$RealDate), by = 28)
> inc2$Period <- cut.Date(inc2$RealDate, dategp,
+ labels = paste(dategp[-length(dategp)], dategp[-1], sep = " - "), right = TRUE)
К сожалению, я получаю диапазоны дат, которые не могут быть сгруппированы. ![enter image description here](https://i.stack.imgur.com/vAcIM.png)
Потому что это даже не 28 дней. Как я могу добавить даты с 4/5 по 4/11 к окончательной группировке? Мне нужны любые группы дат АН, чтобы добавить к последнему «целому» 28-дневному периоду. Могу ли я сделать это или просто сделать некоторую арифметику c, где мои диапазоны дат (начиная с 6/6/2019) попадут даже в 28-дневные диапазоны или как можно ближе?
Спасибо!
Вот данные в качестве образца:
structure(list(OBJECTID = 1:20, District = structure(c(1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), .Label = c("Eastern", "Northeastern", "Southeastern"
), class = "factor"), MZ_ID = structure(c(32L, 32L, 32L, 32L,
32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L,
32L, 32L, 32L), .Label = c("Eastern: 31B", "Eastern: 31C", "Eastern: 31D",
"Eastern: 32A", "Eastern: 32C", "Eastern: 32D", "Eastern: 33A",
"Eastern: 33B", "Eastern: 33C", "Eastern: 33D", "Eastern: 33E",
"Eastern: DATA", "Eastern: DATB", "Eastern: DATC", "Northeastern: 41A",
"Northeastern: 41B", "Northeastern: 41C", "Northeastern: 41E",
"Northeastern: 42A", "Northeastern: 42C", "Northeastern: 42D",
"Northeastern: 42E", "Northeastern: 42F", "Northeastern: 43A",
"Northeastern: 43B", "Northeastern: 43D", "Northeastern: 44A",
"Northeastern: 44B", "Northeastern: 44D", "Northeastern: 44E",
"Northeastern: DAT", "Outside MZ", "Southeastern: 21A", "Southeastern: 21B",
"Southeastern: 21C", "Southeastern: 21D", "Southeastern: 22A",
"Southeastern: 22B", "Southeastern: 22C", "Southeastern: 22D",
"Southeastern: 22E", "Southeastern: 22F", "Southeastern: 22G",
"Southeastern: 23A", "Southeastern: 23B", "Southeastern: DAT"
), class = "factor"), FROM_DATE = structure(c(212L, 214L, 216L,
218L, 185L, 187L, 189L, 190L, 191L, 192L, 193L, 194L, 195L, 196L,
198L, 199L, 200L, 201L, 202L, 203L), .Label = c("1/1/2020 0:00",
"1/10/2020 0:00", "1/11/2020 0:00", "1/12/2020 0:00", "1/13/2020 0:00",
"1/14/2020 0:00", "1/15/2020 0:00", "1/16/2020 0:00", "1/17/2020 0:00",
"1/18/2020 0:00", "1/19/2020 0:00", "1/2/2020 0:00", "1/20/2020 0:00",
"1/21/2020 0:00", "1/22/2020 0:00", "1/23/2020 0:00", "1/24/2020 0:00",
"1/25/2020 0:00", "1/26/2020 0:00", "1/27/2020 0:00", "1/28/2020 0:00",
"1/29/2020 0:00", "1/3/2020 0:00", "1/30/2020 0:00", "1/31/2020 0:00",
"1/4/2020 0:00", "1/5/2020 0:00", "1/6/2020 0:00", "1/7/2020 0:00",
"1/8/2020 0:00", "1/9/2020 0:00", "10/1/2019 0:00", "10/10/2019 0:00",
"10/11/2019 0:00", "10/12/2019 0:00", "10/13/2019 0:00", "10/14/2019 0:00",
"10/15/2019 0:00", "10/16/2019 0:00", "10/17/2019 0:00", "10/18/2019 0:00",
"10/19/2019 0:00", "10/2/2019 0:00", "10/20/2019 0:00", "10/21/2019 0:00",
"10/22/2019 0:00", "10/23/2019 0:00", "10/24/2019 0:00", "10/25/2019 0:00",
"10/26/2019 0:00", "10/27/2019 0:00", "10/28/2019 0:00", "10/29/2019 0:00",
"10/3/2019 0:00", "10/30/2019 0:00", "10/31/2019 0:00", "10/4/2019 0:00",
"10/5/2019 0:00", "10/6/2019 0:00", "10/7/2019 0:00", "10/8/2019 0:00",
"10/9/2019 0:00", "11/1/2019 0:00", "11/10/2019 0:00", "11/11/2019 0:00",
"11/12/2019 0:00", "11/13/2019 0:00", "11/14/2019 0:00", "11/15/2019 0:00",
"11/16/2019 0:00", "11/17/2019 0:00", "11/18/2019 0:00", "11/19/2019 0:00",
"11/2/2019 0:00", "11/20/2019 0:00", "11/21/2019 0:00", "11/22/2019 0:00",
"11/23/2019 0:00", "11/24/2019 0:00", "11/25/2019 0:00", "11/26/2019 0:00",
"11/27/2019 0:00", "11/28/2019 0:00", "11/29/2019 0:00", "11/3/2019 0:00",
"11/30/2019 0:00", "11/4/2019 0:00", "11/5/2019 0:00", "11/6/2019 0:00",
"11/7/2019 0:00", "11/8/2019 0:00", "11/9/2019 0:00", "12/1/2019 0:00",
"12/10/2019 0:00", "12/11/2019 0:00", "12/12/2019 0:00", "12/13/2019 0:00",
"12/14/2019 0:00", "12/15/2019 0:00", "12/16/2019 0:00", "12/17/2019 0:00",
"12/18/2019 0:00", "12/19/2019 0:00", "12/2/2019 0:00", "12/20/2019 0:00",
"12/21/2019 0:00", "12/22/2019 0:00", "12/23/2019 0:00", "12/24/2019 0:00",
"12/25/2019 0:00", "12/26/2019 0:00", "12/27/2019 0:00", "12/28/2019 0:00",
"12/29/2019 0:00", "12/3/2019 0:00", "12/30/2019 0:00", "12/31/2019 0:00",
"12/4/2019 0:00", "12/5/2019 0:00", "12/6/2019 0:00", "12/7/2019 0:00",
"12/8/2019 0:00", "12/9/2019 0:00", "2/1/2020 0:00", "2/10/2020 0:00",
"2/11/2020 0:00", "2/12/2020 0:00", "2/13/2020 0:00", "2/14/2020 0:00",
"2/15/2020 0:00", "2/16/2020 0:00", "2/17/2020 0:00", "2/18/2020 0:00",
"2/19/2020 0:00", "2/2/2020 0:00", "2/20/2020 0:00", "2/21/2020 0:00",
"2/22/2020 0:00", "2/23/2020 0:00", "2/24/2020 0:00", "2/25/2020 0:00",
"2/26/2020 0:00", "2/27/2020 0:00", "2/28/2020 0:00", "2/29/2020 0:00",
"2/3/2020 0:00", "2/4/2020 0:00", "2/5/2020 0:00", "2/6/2020 0:00",
"2/7/2020 0:00", "2/8/2020 0:00", "2/9/2020 0:00", "3/1/2020 0:00",
"3/10/2020 0:00", "3/11/2020 0:00", "3/12/2020 0:00", "3/13/2020 0:00",
"3/14/2020 0:00", "3/15/2020 0:00", "3/16/2020 0:00", "3/17/2020 0:00",
"3/18/2020 0:00", "3/19/2020 0:00", "3/2/2020 0:00", "3/20/2020 0:00",
"3/21/2020 0:00", "3/22/2020 0:00", "3/23/2020 0:00", "3/24/2020 0:00",
"3/25/2020 0:00", "3/26/2020 0:00", "3/27/2020 0:00", "3/28/2020 0:00",
"3/29/2020 0:00", "3/3/2020 0:00", "3/30/2020 0:00", "3/31/2020 0:00",
"3/4/2020 0:00", "3/5/2020 0:00", "3/6/2020 0:00", "3/7/2020 0:00",
"3/8/2020 0:00", "3/9/2020 0:00", "4/1/2020 0:00", "4/10/2019 0:00",
"4/10/2020 0:00", "4/11/2019 0:00", "4/11/2020 0:00", "4/12/2019 0:00",
"4/13/2019 0:00", "4/14/2019 0:00", "4/15/2019 0:00", "4/16/2019 0:00",
"4/17/2019 0:00", "4/18/2019 0:00", "4/19/2019 0:00", "4/2/2020 0:00",
"4/20/2019 0:00", "4/21/2019 0:00", "4/22/2019 0:00", "4/23/2019 0:00",
"4/24/2019 0:00", "4/25/2019 0:00", "4/26/2019 0:00", "4/27/2019 0:00",
"4/28/2019 0:00", "4/29/2019 0:00", "4/3/2020 0:00", "4/30/2019 0:00",
"4/4/2020 0:00", "4/5/2020 0:00", "4/6/2019 0:00", "4/6/2020 0:00",
"4/7/2019 0:00", "4/7/2020 0:00", "4/8/2019 0:00", "4/8/2020 0:00",
"4/9/2019 0:00", "4/9/2020 0:00", "5/1/2019 0:00", "5/10/2019 0:00",
"5/11/2019 0:00", "5/12/2019 0:00", "5/13/2019 0:00", "5/14/2019 0:00",
"5/15/2019 0:00", "5/16/2019 0:00", "5/17/2019 0:00", "5/18/2019 0:00",
"5/19/2019 0:00", "5/2/2019 0:00", "5/20/2019 0:00", "5/21/2019 0:00",
"5/22/2019 0:00", "5/23/2019 0:00", "5/24/2019 0:00", "5/25/2019 0:00",
"5/26/2019 0:00", "5/27/2019 0:00", "5/28/2019 0:00", "5/29/2019 0:00",
"5/3/2019 0:00", "5/30/2019 0:00", "5/31/2019 0:00", "5/4/2019 0:00",
"5/5/2019 0:00", "5/6/2019 0:00", "5/7/2019 0:00", "5/8/2019 0:00",
"5/9/2019 0:00", "6/1/2019 0:00", "6/10/2019 0:00", "6/11/2019 0:00",
"6/12/2019 0:00", "6/13/2019 0:00", "6/14/2019 0:00", "6/15/2019 0:00",
"6/16/2019 0:00", "6/17/2019 0:00", "6/18/2019 0:00", "6/19/2019 0:00",
"6/2/2019 0:00", "6/20/2019 0:00", "6/21/2019 0:00", "6/22/2019 0:00",
"6/23/2019 0:00", "6/24/2019 0:00", "6/25/2019 0:00", "6/26/2019 0:00",
"6/27/2019 0:00", "6/28/2019 0:00", "6/29/2019 0:00", "6/3/2019 0:00",
"6/30/2019 0:00", "6/4/2019 0:00", "6/5/2019 0:00", "6/6/2019 0:00",
"6/7/2019 0:00", "6/8/2019 0:00", "6/9/2019 0:00", "7/1/2019 0:00",
"7/10/2019 0:00", "7/11/2019 0:00", "7/12/2019 0:00", "7/13/2019 0:00",
"7/14/2019 0:00", "7/15/2019 0:00", "7/16/2019 0:00", "7/17/2019 0:00",
"7/18/2019 0:00", "7/19/2019 0:00", "7/2/2019 0:00", "7/20/2019 0:00",
"7/21/2019 0:00", "7/22/2019 0:00", "7/23/2019 0:00", "7/24/2019 0:00",
"7/25/2019 0:00", "7/26/2019 0:00", "7/27/2019 0:00", "7/28/2019 0:00",
"7/29/2019 0:00", "7/3/2019 0:00", "7/30/2019 0:00", "7/31/2019 0:00",
"7/4/2019 0:00", "7/5/2019 0:00", "7/6/2019 0:00", "7/7/2019 0:00",
"7/8/2019 0:00", "7/9/2019 0:00", "8/1/2019 0:00", "8/10/2019 0:00",
"8/11/2019 0:00", "8/12/2019 0:00", "8/13/2019 0:00", "8/14/2019 0:00",
"8/15/2019 0:00", "8/16/2019 0:00", "8/17/2019 0:00", "8/18/2019 0:00",
"8/19/2019 0:00", "8/2/2019 0:00", "8/20/2019 0:00", "8/21/2019 0:00",
"8/22/2019 0:00", "8/23/2019 0:00", "8/24/2019 0:00", "8/25/2019 0:00",
"8/26/2019 0:00", "8/27/2019 0:00", "8/28/2019 0:00", "8/29/2019 0:00",
"8/3/2019 0:00", "8/30/2019 0:00", "8/31/2019 0:00", "8/4/2019 0:00",
"8/5/2019 0:00", "8/6/2019 0:00", "8/7/2019 0:00", "8/8/2019 0:00",
"8/9/2019 0:00", "9/1/2019 0:00", "9/10/2019 0:00", "9/11/2019 0:00",
"9/12/2019 0:00", "9/13/2019 0:00", "9/14/2019 0:00", "9/15/2019 0:00",
"9/16/2019 0:00", "9/17/2019 0:00", "9/18/2019 0:00", "9/19/2019 0:00",
"9/2/2019 0:00", "9/20/2019 0:00", "9/21/2019 0:00", "9/22/2019 0:00",
"9/23/2019 0:00", "9/24/2019 0:00", "9/25/2019 0:00", "9/26/2019 0:00",
"9/27/2019 0:00", "9/28/2019 0:00", "9/29/2019 0:00", "9/3/2019 0:00",
"9/30/2019 0:00", "9/4/2019 0:00", "9/5/2019 0:00", "9/6/2019 0:00",
"9/7/2019 0:00", "9/8/2019 0:00", "9/9/2019 0:00"), class = "factor"),
FREQUENCY = c(12L, 7L, 9L, 4L, 8L, 9L, 4L, 9L, 6L, 5L, 3L,
5L, 5L, 9L, 7L, 3L, 10L, 11L, 10L, 6L), SUM_violen = c(8L,
2L, 4L, 2L, 7L, 3L, 0L, 4L, 0L, 3L, 7L, 3L, 8L, 4L, 0L, 1L,
0L, 3L, 7L, 1L), SUM_nonvio = c(10L, 5L, 7L, 2L, 5L, 8L,
4L, 7L, 6L, 4L, 1L, 4L, 2L, 7L, 7L, 2L, 10L, 10L, 8L, 5L),
SUM_all_pt = c(12L, 7L, 9L, 4L, 8L, 9L, 4L, 9L, 6L, 5L, 3L,
5L, 5L, 9L, 7L, 3L, 10L, 11L, 10L, 6L), RealDate = structure(c(17992,
17993, 17994, 17995, 17996, 17997, 17998, 17999, 18000, 18001,
18002, 18003, 18004, 18005, 18006, 18007, 18008, 18009, 18010,
18011), class = "Date"), Period = structure(c(NA, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L), .Label = c("2019-04-06 - 2019-04-20", "2019-04-20 - 2019-05-04",
"2019-05-04 - 2019-05-18", "2019-05-18 - 2019-06-01", "2019-06-01 - 2019-06-15",
"2019-06-15 - 2019-06-29", "2019-06-29 - 2019-07-13", "2019-07-13 - 2019-07-27",
"2019-07-27 - 2019-08-10", "2019-08-10 - 2019-08-24", "2019-08-24 - 2019-09-07",
"2019-09-07 - 2019-09-21", "2019-09-21 - 2019-10-05", "2019-10-05 - 2019-10-19",
"2019-10-19 - 2019-11-02", "2019-11-02 - 2019-11-16", "2019-11-16 - 2019-11-30",
"2019-11-30 - 2019-12-14", "2019-12-14 - 2019-12-28", "2019-12-28 - 2020-01-11",
"2020-01-11 - 2020-01-25", "2020-01-25 - 2020-02-08", "2020-02-08 - 2020-02-22",
"2020-02-22 - 2020-03-07", "2020-03-07 - 2020-03-21", "2020-03-21 - 2020-04-04"
), class = "factor")), row.names = c(NA, 20L), class = "data.frame")
>