我正在努力将一个简单的月份和年份格式转换为tsibble。我有这个数据集,
a <- c(12014, 22014, 32014, 42014, 52014, 62014, 72014, 82014, 92014, 102014, 112014, 122014,
12015, 22015, 32015, 42015, 52015, 62015, 72015, 82015, 92015, 102015, 112015, 122015,
12014, 22014, 32014, 42014, 52014, 62014, 72014, 82014, 122014)
b <- rnorm(33, mean = 12, sd = 8)
dt <- data.frame(a, b)这里的向量a应该是时间变量。它不一定是不间断的。这意味着我有可能隐含了缺失值。
as.Date(dt$a, origin = "01-1901")
library(tidyverse)
as_tsibble(dt)我所理解的是,首先我需要将数据转换为'as.Date‘,然后将数据转换为tsibble。
我收到以下错误消息,
> as.Date(dt$a, origin = "01-1901")
Error in charToDate(x) :
character string is not in a standard unambiguous format有没有人能帮我找一下周围的路?
发布于 2019-11-11 03:26:24
我们可以在开始时填充0,使用as.yearmon将其转换为yearmon,并使用as.Date将其强制为'Date‘类
library(zoo)
dt$a <- as.Date(as.yearmon(sprintf("%06d", dt$a), "%m%Y"))
dt$a
#[1] "2014-01-01" "2014-02-01" "2014-03-01" "2014-04-01" "2014-05-01" "2014-06-01" "2014-07-01" "2014-08-01" "2014-09-01" "2014-10-01" "2014-11-01"
#[12] "2014-12-01" "2015-01-01" "2015-02-01" "2015-03-01" "2015-04-01" "2015-05-01" "2015-06-01" "2015-07-01" "2015-08-01" "2015-09-01" "2015-10-01"
#[23] "2015-11-01" "2015-12-01" "2014-01-01" "2014-02-01" "2014-03-01" "2014-04-01" "2014-05-01" "2014-06-01" "2014-07-01" "2014-08-01" "2014-12-01"注意:当我们转换为tsibble时,请确保删除重复的日期
https://stackoverflow.com/questions/58791867
复制相似问题