Как создать несколько объектов XTS из одного объекта XTS - PullRequest
0 голосов
/ 18 февраля 2019

Я создал объект 'xts' из фрейма данных - фрейм данных был загружен из файла 'csv'.

Объект 'xts' выглядит так: -

            entitycode,usage
2016-01-01  1,16521
2016-01-01  2,6589
2016-01-02  1,16540
2016-01-02  2,6687
2016-01-03  1,16269
2016-01-03  2,6642

Всего в нем 1462 записи - по 731 каждая для каждого из кодов сущностей 1 и 2 с 01.01.2016 по 31.12.2017 с периодичностью 1 день.

Код сущности1 и 2 относятся к разным регионам, например, «region1» и «region2».

Существует ли способ создания отдельных объектов (переменных) «xts» для кодов сущностей 1 и 2 (или «region1» и «region2»)?) каждая из 731 строк с именами, такими как 'region1_xts' и 'region1_xts'?

С уважением

Дипак

1 Ответ

0 голосов
/ 18 февраля 2019

Я бы порекомендовал split ting объект xts, в результате чего list из xts объектов

split(xts, xts$entitycode)
#$`1`
#           entitycode usage
#2016-01-01          1 16521
#2016-01-02          1 16540
#2016-01-03          1 16269
#
#$`2`
#           entitycode usage
#2016-01-01          2  6589
#2016-01-02          2  6687
#2016-01-03          2  6642

Затем вы можете использовать функции семейства *apply для удобной работыразличные элементы list (т.е. объекты xts).


Пример данных

df <- read.csv(text =
    "      date,entitycode,usage
2016-01-01,  1,16521
2016-01-01,  2,6589
2016-01-02,  1,16540
2016-01-02,  2,6687
2016-01-03,  1,16269
2016-01-03,  2,6642", header = T)

mat <- as.matrix(df[, -1])
rownames(mat) <- df[, 1]
colnames(mat) <- colnames(df)[-1]

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