[英]how to input a list of time series to correlation function in r
我有一個時間序列列表:
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)
但是根據我的需要,output 不是時間序列矩陣提前謝謝你:)
我們可以使用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)
或者使用purrr
中的reduce
library(purrr)
reduce(list_ts, ts.intersect)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.