Как работать с диапазоном дат в математике?

В гугл трендах есть возможность экспортировать данные в CSV. Полученный CSV имеет следующую структуру:

Week,subject 1, subject 2
2004-01-04 - 2004-01-10,13,6
2004-01-11 - 2004-01-17,9,9
2004-01-18 - 2004-01-24,11,4

Я знаю, что есть DateObject[], но там только одна дата. Я хочу получить ступенчатую диаграмму субъектов 1 и 2 во временной области и рассчитать их корреляцию в диапазоне между двумя заданными датами.

Моя проблема: какую структуру данных я должен использовать для представления временного диапазона?


person Daniel    schedule 07.06.2016    source источник


Ответы (1)


Как Google Trends называет временную переменную «неделя»,

StringTake["04.01.2004 - 10.01.2004", 10]

чтобы получить первый день диапазона, затем используйте

DateList[{"2004-01-04", {"Год", "Месяц", "День"}}]

создать список дат и

DateString[{2004, 1, 4, 0, 0, 0}, {"Неделя"}]

для выражения времени с точки зрения календарной недели года. Итак, функция

RangeToWeek[timerangestring_] := DateString[ DateList[{ StringTake[timerangestring, 10], {"Год", "Месяц", "День"}}], {"Неделя"}]

дает для первой даты в вашем списке 01, потому что промежуток времени с 01.04.2004 по 01.10.2004 соответствует первой календарной неделе этого года.

person Puzzled Biologist    schedule 12.06.2016