У меня есть тонна данных, которые я загружаю через R, чтобы получить средние значения. Соответствующие данные включают даты и показания температуры. За один день часто бывает несколько значений температуры. Сроки охватывают примерно 6 месяцев.
Два критерия, запрошенные исследователями, были описаны следующим образом:
Среднее значение за неделю - 7-дневное скользящее среднее (не календарная неделя). Среднее максимальное - 7-дневное скользящее максимальное.
Итак, если бы мои данные начинались с 1/1/13, я бы усреднил ВСЕ показания температуры между 1/1/13 и 1/7/13, а затем проделал бы то же самое с 1/8/13 - 1/15. / 13 и так далее. В другом месте на Stack мне сказали, что это на самом деле называется "среднее за неделю за год", хотя, признаюсь, я не совсем понимаю, почему это не скользящее среднее. . Я провел некоторое исследование, но совершенно новичок, я изо всех сил пытался понять, как подойти к этой проблеме.
Для визуального из вас, это, по сути, тип данных, с которыми я имею дело (фактический data.frame
выглядит сильно по-другому (см. Заголовок dput ниже) и состоит из нескольких тысяч записей, но это собственные имена двух соответствующих столбцы):
DATE | TEMP
-----------------
1/2/13 34.4
1/2/13 36.4
1/2/13 34.3
1/4/13 45.6
1/4/13 33.5
1/5/13 45.2
1/6/13 53.9
1/7/13 34.6
1/7/13 36.2
1/8/13 22.4
1/9/13 30.8
1/9/13 33.2
Я смотрел библиотеку xts:
xts(x = NULL,
order.by = index(x),
frequency = NULL,
unique = TRUE,
tzone = Sys.getenv("TZ"),
...)
Это выглядит многообещающе, но я не вижу, чтобы понять это, и документация не слишком помогает.
xts (x = mydf, order.by = DATE (x), frequency = 7 ...?
Идеи? Спасибо.
Вот небольшой образец информации о головке dput:
structure(list(RECID = 579:584, SITEID = c(101L, 101L, 101L,
101L, 101L, 101L), MONTH = c(6L, 6L, 6L, 6L, 6L, 6L), DAY = c(7L,
7L, 7L, 7L, 7L, 7L), DATE = structure(c(34L, 34L, 34L, 34L, 34L,
34L), .Label = c("10/1/2013", "10/10/2013", "10/11/2013", "10/12/2013",
"10/2/2013", "10/3/2013", "10/4/2013", "10/5/2013", "10/6/2013",
"10/7/2013", "10/8/2013", "10/9/2013", "6/10/2013", "6/11/2013","9/9/2013"), class = "factor"), TIMESTAMP = structure(784:789, .Label = c("10/1/2013 0:00",
"10/1/2013 1:00", "10/1/2013 10:00", "10/1/2013 11:00", "10/1/2013 12:00",
"10/1/2013 13:00", "10/1/2013 14:00", "10/1/2013 15:00", "10/1/2013 16:00",
"10/1/2013 17:00", "10/1/2013 18:00", "10/1/2013 19:00", "10/1/2013 2:00"), class = "factor"), TEMP = c(23.376, 23.376, 23.833, 24.146,
24.219, 24.05), X.C = c(NA, NA, NA, NA, NA, NA)), .Names = c("RECID",
"SITEID", "MONTH", "DAY", "DATE", "TIMESTAMP", "TEMP", "X.C"), row.names = c(NA,
6L), class = "data.frame")
dput(head(mydf))
или хотя быdput(head(mydf[, c("DATE", "TEMP")]))
? - person Gregor Thomas   schedule 22.04.2014factor
, а не что-то вродеDate
объекта. - person Gregor Thomas   schedule 22.04.2014