Я в настоящее время пытается объединить еженедельные данные ежемесячных данных, который выглядит следующим образом:Суммируя постоянной календарной недели интервал
UPS WEEK AP
1111112016 1 385.22
1111112016 2 221.63
1111112016 3 317.47
Есть 132 различных УКТ и недели указаны на 1 - 52. Тем не менее, они различаются в разных СКП. Всего у меня 4 027 строк. Я хотел бы объединить за 4-недельный интервал, пока не будет достигнута следующая категория UPC. Я попробовал этот код:
z = aggregate(x$AP, by=list(x$UPC, cut(x$WEEK, breaks=13, lables = T)), FUN = sum)
colnames(z) = c("UPC", "Month", "AP")
z = z[order(z$UPC),]
я получаю следующий результат:
UPC Month AP
1 1111112016 (0.951,4.77] 1098.03
88 1111112016 (4.77,8.54] 1180.03
187 1111112016 (8.54,12.3] 491.18
303 1111112016 (12.3,16.1] 896.31
Есть несколько проблем здесь: 1) Значение месяца является неправильным. Я хотел бы иметь числовое значение. (1 - 12) 2) Первые два агрегата правильны, однако после этого суммы иногда кажутся правильными, а иногда и нет.
Вот краткий пример того, как мои данные выглядит следующим образом:
dput(head(x))
structure(list(UPC = c(1111112016, 1111112016, 1111112016, 1111112016,
1111112016, 1111112016), WEEK = c(1, 2, 3, 4, 5, 6), AP = c(385.22,
221.63, 317.47, 173.71, 269.55, 311.48)), .Names = c("UPC", "WEEK",
"AP"), row.names = c(NA, 6L), class = "data.frame")
Просьба показать небольшой воспроизводимый пример и ожидаемый результат – akrun