Статьи

Как сохранить объекты R

Вчера Кристофер спросил меня, как сохранить объект R, чтобы сэкономить время при работе над проектом. 

Сначала загрузите файл csv для поиска, связанного с каким-либо ключевым словом, через  http://www.google.com/trends/ , например, » солнечные очки «. Напомним, что CSV-файлы хранят табличные данные (числа и текст) в виде простого текста с  разделенными запятыми значениями  (откуда берется термин CSV). Даже если это не один и четко определенный формат, это текстовый файл, а не файл Excel!

Recherche sur le Web : intérêt pour sunglasses
Dans tous les pays; De 2004 à ce jour
 
Intérêt dans le temps
Semaine,sunglasses
2004-01-04 - 2004-01-10,48
2004-01-11 - 2004-01-17,47
2004-01-18 - 2004-01-24,51
2004-01-25 - 2004-01-31,50
2004-02-01 - 2004-02-07,52

(и т. д.) Файл можно скачать из блога,

> report=read.table(
+ "http://freakonometrics.blog.free.fr/public/data/glasses.csv",
+ skip=4,header=TRUE,sep=",",nrows=464)

Затем мы просто запускаем функцию для преобразования этого фрейма данных. Его можно найти из исходного файла

источник («http://freakonometrics.blog.free.fr/public/code/H2M.R»)

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

> sunglasses=H2M(report,lang="FR",type="ts")

Здесь мы попросили временной ряд,

> sunglasses
Jan      Feb      Mar      Apr
2004 49.00000 54.27586 66.38710 80.10000
2005 48.45161 58.25000 69.93548 80.06667
2006 49.70968 57.21429 67.41935 82.10000
2007 47.32258 55.92857 70.87097 84.36667
2008 47.19355 54.20690 64.03226 79.36667
2009 45.16129 50.75000 63.58065 76.90000
2010 32.67742 44.35714 58.19355 70.00000
2011 44.38710 49.75000 59.16129 71.60000
2012 43.64516 48.75862 64.06452 70.13333
May      Jun      Jul      Aug
2004 83.77419 89.10000 84.67742 73.51613
2005 83.06452 91.36667 89.16129 76.32258
2006 86.00000 92.90000 93.00000 72.29032
2007 86.83871 88.63333 84.61290 72.93548
2008 80.70968 80.30000 78.29032 64.58065
2009 77.93548 70.40000 62.22581 51.58065
2010 71.06452 73.66667 76.90323 61.77419
2011 74.00000 79.66667 79.12903 66.29032
2012 79.74194 82.90000 79.96774 69.80645
Sep      Oct      Nov      Dec
2004 56.20000 46.25806 44.63333 53.96774
2005 56.53333 47.54839 47.60000 54.38710
2006 51.23333 46.70968 45.23333 54.22581
2007 56.33333 46.38710 44.40000 51.12903
2008 51.50000 44.61290 40.93333 47.74194
2009 37.90000 30.38710 28.43333 31.67742
2010 50.16667 46.54839 42.36667 45.90323
2011 52.23333 45.32258 42.60000 47.35484
2012 54.03333 46.09677 43.45833  

что мы можем построить с помощью

> plot(sunglasses)

Теперь мы хотели бы сохранить этот временной ряд. Это легко сделать с помощью

> save(sunglasses,file="sunglasses.RData")

В следующий раз, когда мы откроем R, мы просто должны использовать

> load("/Users/UQAM/sunglasses.Rdata")

загрузить временной ряд в R памяти. Так что сохранение предметов не сложно.

Не в последнюю очередь, для части о сезонных моделях, мы будем использовать некоторые функции из старого пакета. К сожалению, на   сайте CRAN мы видим, что

но приятно, что файлы все еще можно найти на какой-то   странице архива . В Linux можно легко установить пакет, используя (в R)

> install.packages(
+ "/Users/UQAM/uroot_1.4-1.tar.gz",
+ type="source")

С Mac это немного сложнее (см., Например, блог Джона  ): нужно открыть терминал и набрать

R CMD INSTALL /Users/UQAM/uroot_1.4-1.tar.gz

В Windows можно установить пакет из заархивированного файла: нужно загрузить файл со   страницы архива , а затем найти его из R.

Теперь пакет установлен, нам просто нужно загрузить его, чтобы поиграть с ним, и использовать содержащиеся в нем функции для тестирования циклов и сезонного поведения.

> library(uroot)
> CH.test
function (wts, frec = NULL, f0 = 1, DetTr = FALSE, ltrunc = NULL)
{
s <- frequency(wts)
t0 <- start(wts)
N <- length(wts)
if (class(frec) == "NULL")
frec <- rep(1, s/2)
if (class(ltrunc) == "NULL")
ltrunc <- round(s * (N/100)^0.25)
R1 <- SeasDummy(wts, "trg")
VFEalg <- SeasDummy(wts, "alg")