簡體   English   中英

時間序列列表的總和

[英]Sum of lists of time-series

假設這些列表( lst1lst2 ):

lst1 <- list(DNK = structure(c(9.42570480907262, 9.0831141063017, 8.59229634534683
), class = "ts", .Tsp = c(2020, 
2020.16666666667, 12)), NOR = structure(c(7.85643949703962, 8.06088997981154, 
6.09629541267081), class = "ts", .Tsp = c(2020, 
2020.16666666667, 12)))

lst2 <- list(DNK = structure(c(8.19546976288646, 7.88732764376854, 7.56267580801025
), class = "ts", .Tsp = c(2020, 
2020.16666666667, 12)), NOR = structure(c(7.04394796038374, 6.93980402067836, 
6.02499898034015), class = "ts", .Tsp = c(2020, 
2020.16666666667, 12)))

是否可以通過將兩個列表相加來獲得一個新列表,同時保持相同的 class?

預期 output:

lstexp <- list(DNK = structure(c(17.62117, 16.97044, 16.15497
), class = "ts", .Tsp = c(2020, 
2020.16666666667, 12)), NOR = structure(c(14.90039, 15.00069, 
12.12129), class = "ts", .Tsp = c(2020, 
2020.16666666667, 12)))

編輯:

關注@G。 Grothendieck 的評論,我正在刪除每個 object 的“索引”。 這對於擁有有效的ts對象是必要的。 最初,對象是tbl_df 由於ts對象的轉換,索引保持不變。

我們可以使用Map ,

res <- Map(`+`, lst1, lst2)
res
# $DNK
# Jan      Feb      Mar
# 2020 17.62117 16.97044 16.15497
# 
# $NOR
# Jan      Feb      Mar
# 2020 14.90039 15.00069 12.12129

在哪里:

str(res)
# List of 2
#  $ DNK: Time-Series [1:3] from 2020 to 2020: 17.6 17 16.2
#  $ NOR: Time-Series [1:3] from 2020 to 2020: 14.9 15 12.1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM