как ввести список временных рядов для корреляционной функции в r - PullRequest
2 голосов
/ 24 апреля 2020

У меня есть список из временных рядов :

ts1 <- ts(seq(1,12), start=c(2019,01), frequency=12)
ts2 <- ts(seq(12,26), start=c(2019,01), frequency=12)
ts3 <- ts(seq(24,30),start=c(2019,01), frequency=12)
list_ts <- list()
list_ts[["a"]] <- ts1
list_ts[["b"]] <- ts2
list_ts[["c"]] <- ts3

, и я хотел бы получить что-то в том же формате, что и при указании каждого элемента:

ts.intersect(ts1,ts2,ts3)

Я пробовал это:

lapply(list_ts, ts.intersect)

, но вывод не является матрицей временных рядов согласно моим потребностям Спасибо в заранее:)

1 Ответ

1 голос
/ 24 апреля 2020

Мы можем использовать do.call

do.call(ts.intersect, list_ts)
#         a  b  c
#Jan 2019 1 12 24
#Feb 2019 2 13 25
#Mar 2019 3 14 26
#Apr 2019 4 15 27
#May 2019 5 16 28
#Jun 2019 6 17 29
#Jul 2019 7 18 30

Или с Reduce

Reduce(ts.intersect, list_ts)

Или с использованием reduce с purrr

library(purrr)
reduce(list_ts, ts.intersect)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...