【发布时间】:2020-01-14 15:04:34
【问题描述】:
我想生成一个完全面板(每月)的时间序列
我尝试了tsibble,它适用于大数据,但对于具有大量缺失数据的小数据集,它似乎选择了非常宽的间隔。
另外,为了方便比较许多不同的集合,我想指定开始和结束日期。
library(dplyr)
data <- structure(list(
month = structure(c(18078, 18201), class = "Date"),
account = c("3125", "3100"),
sum = c(-21.0084, -2000)),
class = c("tbl_df", "tbl", "data.frame"),
row.names = c(NA, -2L))
data %>%
mutate(month = tsibble::yearmonth(month)) %>%
tsibble::as_tsibble(key = account, index = month) %>%
tsibble::fill_gaps(sum = 0, .full = T)
这里我有一个最小的例子,结果是
# A tibble: 4 x 3
month account sum
<mth> <chr> <dbl>
1 2019 Jul 3100 0
2 2019 Nov 3100 -2000
3 2019 Jul 3125 -21.0
4 2019 Nov 3125 0
但应从 5 月到 12 月开始,每个组(帐户)每个缺失的月份为 0。
【问题讨论】:
-
你不能用你想要的开始和结束时间来调整样本吗?
-
您甚至可以将您的数据与日历结合起来,这样您就可以保证指定的日期
-
加入日历,例如
seq.Date()听起来不错,但是如何加入每个组呢? -
什么意思?如果你这样做 left_join(calendar,data) 它应该把所有的信息都带入你的数据
标签: r dplyr time-series tibble tsibble