Временные ряды в R - PullRequest
4 голосов
/ 10 октября 2009

Я отслеживаю вес своего тела в электронной таблице, но я хочу улучшить опыт с помощью R. Я пытался найти некоторую информацию об анализе временных рядов в R, но мне не удалось.

Данные, которые у меня есть, представлены в следующем формате:

date -> weight  -> body-fat-percentage  -> water-percentage

, например

10/08/09 -> 84.30 -> 18.20 -> 55.3

Что я хочу сделать

plot вес и экспоненциальная скользящая средняя по времени

Как мне этого добиться?

Ответы [ 3 ]

6 голосов
/ 11 октября 2009

Считать данные в R, используя x <- read.csv(filename). Убедитесь, что даты указаны как класс символов, а вес - как числовой.
Затем используйте следующее:

require(zoo)
require(forecast) # Needed for the ses function
x$date <- as.Date(x$date,"%m/%d/%Y") # Guessing you are using the US date format
x$weight <- zoo(x$weight,x$date) # Allows for irregular dates
plot(x$weight, xlab="Date", ylab="Weight") # Produce time plot
ewma <- as.vector(fitted(ses(ts(x$weight)))) # Compute ewma with parameter selected using MLE
lines(zoo(ewma,x$date),col="red") # Add ewma line to plot
2 голосов
/ 11 октября 2009

Похоже, вам нужно обрабатывать нерегулярно разнесенные временные ряды, поэтому ts не вариант. Используйте одну из других библиотек временных рядов. zoo является наиболее широко используемым, но некоторые другие опции - это timeSeries, xts, fts и его. Посмотрите на представление CRAN: http://cran.r -project.org / web / views / TimeSeries.html .

Одна проблема, которую я вижу сейчас, это ваш формат даты. Я предлагаю либо переформатировать дату сначала в ваших данных, либо использовать функцию format () в R, но вам нужно будет преобразовать их в объект Date или POSIX в R, чтобы использовать его с пакетом временных рядов.

Вы можете использовать функцию read.zoo () для чтения в вашем файле временного ряда. Также посмотрите на виньетку. Что касается EWMA, я считаю, что здесь есть несколько вариантов. Rmetrics и TTR имеют версии.

Я опубликую пример, когда доберусь до компьютера. Кстати, на эту тему доступно много ресурсов. Посмотрите эту книгу: http://www.rmetrics.org/ebooks/TimeSeriesFAQ.pdf.

0 голосов
/ 07 ноября 2009

Есть действительно хорошая книга о Временных рядах в R, вышедшая этим летом

http://www.amazon.com/Introductory-Time-R-Use/dp/0387886974

если вы хотите глубже изучить тему.

-k

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...