【发布时间】:2021-05-31 12:45:34
【问题描述】:
我有 2019 年和 2020 年的月度数据,而 2021 年(1 月和 2 月)只有 2 个月的数据。我想将这 26 个值组成一个向量用作时间序列。
my_dat <- data.frame(X2021 = c(1:2,rep(NA,10)), X2020 = 1:12, X2019 = 1:12)
library(dplyr)
X2021 <- my_dat %>% pull(X2021)
X2021 <- X2021[ -(3:12) ]
x <- my_dat %>% pull(X2019,X2020)
c(x, X2021)
##1 2 3 4 5 6 7 8 9 10 11 12
##1 2 3 4 5 6 7 8 9 10 11 12 1 2
我预计:
c(1:12, 1:12, 1:2)
出了什么问题?
【问题讨论】:
-
请考虑附上一个最小可重现的例子,回忆一下:stackoverflow.com/help/minimal-reproducible-example
-
如果您指定频率以及开始和结束,似乎可以正常工作 -
ts(1:26, frequency=12, start=c(2019,1), end=c(2021,2)) -
@thelatemail ..谢谢!它可以工作,但是我的向量的顺序被弄乱了,一些值完全丢失了。这是我的代码:in.sample
-
@user12715151 - 我无法复制您的问题 - 我得到了从 1 到 26 的序列,每个序列都在指定期间的不同月份。您将必须提供您正在输入的
x向量,以及您在上述问题中获得的输出,以便我们深入了解问题。 -
@thelatemail。我测试了向量,它的长度是 14 而不是我想的 26,并且每个位置,例如 x[12] 包含两个值而不是一个。这是我的代码,对不起,我试过了,但不知道如何格式化它 -#Selecting only 2021: ` X2021% pull(X2021) #deleting all months for which no actuals yet, march on在这种情况下 X2021% pull(X2019,X2020) #26 个实际数据点,预测接下来的 10 个步骤 x
标签: r dplyr time-series