Я надеюсь, что это основное; просто нужно подтолкнуть в правильном направлении.
Я прочитал таблицу базы данных из MS Access во фрейм данных, используя RODBC. Вот основная структура того, что я прочитал:
PRODID PROD Year Week QTY SALES INVOICE
Вот структура:
str(data)
'data.frame': 8270 obs. of 7 variables:
$ PRODID : int 20001 20001 20001 100001 100001 100001 100001 100001 100001 100001 ...
$ PROD : Factor w/ 1239 levels "1% 20qt Box",..: 335 335 335 128 128 128 128 128 128 128 ...
$ Year : int 2010 2010 2010 2009 2009 2009 2009 2009 2009 2010 ...
$ Week : int 12 18 19 14 15 16 17 18 19 9 ...
$ QTY : num 1 1 0 135 300 270 300 270 315 315 ...
$ SALES : num 15.5 0 -13.9 243 540 ...
$ INVOICES: num 1 1 2 5 11 11 10 11 11 12 ...
Вот несколько верхних строк:
head(data, n=10)
PRODID PROD Year Week QTY SALES INVOICES
1 20001 Dolie 12" 2010 12 1 15.46 1
2 20001 Dolie 12" 2010 18 1 0.00 1
3 20001 Dolie 12" 2010 19 0 -13.88 2
4 100001 Cage Free Eggs 2009 14 135 243.00 5
5 100001 Cage Free Eggs 2009 15 300 540.00 11
6 100001 Cage Free Eggs 2009 16 270 486.00 11
7 100001 Cage Free Eggs 2009 17 300 540.00 10
8 100001 Cage Free Eggs 2009 18 270 486.00 11
9 100001 Cage Free Eggs 2009 19 315 567.00 11
10 100001 Cage Free Eggs 2010 9 315 569.25 12
Я просто хочу создать лаги для QTY, SALES, INVOICE для каждого продукта, но я не уверен, с чего начать. Я знаю, что R хорош для временных рядов, но я не уверен, с чего начать.
У меня два вопроса:
У меня есть необработанные данные счета, но я их агрегировал для целей отчетности. Было бы проще, если бы я не агрегировал данные?
Независимо от агрегации или нет, какие функции мне понадобятся, чтобы зацикливаться на каждом продукте и генерировать лаги по мере необходимости?
Короче говоря, я хочу зациклить набор записей, вычислить лаги для продукта (если возможно), добавить лаги (как они применяются) к текущей записи для каждого продукта и записать результаты обратно в таблицу в моей базе данных для использования моего программного обеспечения для составления отчетов.