繁体   English   中英

如何在 r 中输入时间序列列表以关联 function

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM