#r #time-series #rscript
#r #временные ряды #rscript
Вопрос:
Я пытаюсь создать график временных рядов, используя R, где получаю даты из запроса REST, а затем я хочу сгруппировать и подсчитать вхождения дат с интервалом в одну неделю. Я следовал примерам ts() в R и пробовал графики, которые отлично работали. Но я не смог найти никаких примеров, показывающих, как создать агрегацию дат на основе существующих данных. Может кто-нибудь указать мне правильное направление?
Это образец моих проанализированных данных REST:
Выдержка из ответа REST ….
"2014-01-16T14:51:50.000-0800"
"2014-01-14T15:42:55.000-0800"
"2014-01-13T17:29:08.000-0800"
"2014-01-13T16:19:31.000-0800"
"2013-12-16T16:56:39.000-0800"
"2014-02-28T08:11:54.000-0800"
"2014-02-28T08:11:28.000-0800"
"2014-02-28T08:07:02.000-0800"
"2014-02-28T08:06:36.000-0800"
....
С уважением,
код B.
Комментарии:
1. Можете ли вы четко указать, что именно вы ищете? Может быть, желаемый результат?
aggregate(...)
кстати, это хорошая функция для агрегирования данных
Ответ №1:
Вы можете определить дату с помощью «as.Date», а затем создать временные ряды с помощью «xts», поскольку это позволяет объединять по любому периоду времени.
library(xts)
REST$date <- as.Date(REST$date, format="%Y-%m-%d")
REST$variable <- seq(0,2.4,by=.3)
ts <- xts(REST[,"variable"], order.by=REST[,"date"])
> to.monthly(ts)
ts.Open ts.High ts.Low ts.Close
Dec 2013 1.2 1.2 1.2 1.2
Xan 2014 0.6 0.9 0.0 0.0
Feb 2014 1.5 2.4 1.5 2.4
> to.weekly(ts)
ts.Open ts.High ts.Low ts.Close
2013-12-16 1.2 1.2 1.2 1.2
2014-01-16 0.6 0.9 0.0 0.0
2014-02-28 1.5 2.4 1.5 2.4
Не уверен, что это то, что вам нужно. Так ли это?
Комментарии:
1. Спасибо! @galman это работает как шарм. Есть ли в библиотеке какая-либо функция, которая может суммировать все значения за месяц / неделю?
2. См. period.apply(), применить. еженедельно(), apply.monthly() и аналогичные: apply.monthly(my_ts.ts, сумма)