这是我的玩具时间序列数据:
library(tidyverse); library(tsibble); library(feasts)
df <- tibble::tribble(
~date, ~A, ~B, ~C,
"1/31/2010", NA, 0.017, NA,
"2/28/2010", NA, 0.027, NA,
"3/31/2010", NA, 0.003, 0.003,
"4/30/2010", -0.022, 0.018, 0.018,
"5/31/2010", -0.036, 0.02, 0.02,
"6/30/2010", -0.046, 0.023, 0.023,
"7/31/2010", NA, 0.027, 0.027,
"8/31/2010", -0.022, 0.008, 0.008,
"9/30/2010", 0.059, -0.003, -0.003,
"10/31/2010", 0.024, 0.058, 0.058,
"11/30/2010", NA, 0.023, NA,
"12/31/2010", NA, 0.014, NA
)
我想计算多个时间序列的自相关(acf)。忽略插补部分,我需要:
- 删除具有中间 NA 的变量(而不是时间序列开始和结束的变量),例如 2010 年 7 月 31 日的 A 的 NA。所以在这种情况下,删除变量 A。
- 可能使用 B 和 C 上 feasts 包中的 ACF 函数计算自相关性。
我从这里开始并陷入困境:
df %>%
mutate(date = mdy(date)) %>%
pivot_longer(cols = -date) %>%
as_tsibble(key = name, index = date) %>%
ACF()
预期输出将具有每个可能的滞后序列的自相关。像 B 将有 10-11 个值 10 滞后和系列 B 相同