我有这些数据,
library(timetk)
library(tidyverse)
time <- c(122019, 012020, 022020, 032020, 042020, 052020, 062020, 072020, 082020, 092020, 102020, 112020)
value <- c(100, 234, 269, 432, 150, 455, 66, 223, 333, 212, 111, 44)
data <- data.frame(time, value)如果我用来绘制时间序列
data %>% plot_time_series(time, value)它可以工作,但错误地显示了时间轴。我想知道如何正确地在水平轴上适当地显示时间。
为了查看包是否自动识别时间戳,
data %>% tk_get_timeseries_variables()它显示,
character(0)我猜时间序列不见了。这就是为什么timetk无法识别时间戳的原因。这里有人能帮我解决这个问题吗?
发布于 2021-03-21 01:22:37
time列只是一个数字向量。默认情况下,它不会转换为任何其他反映时间序列数据的格式。
一种方法是将time变量创建为字符向量,然后将日期添加到该变量并将其转换为Date对象。
time <- c("122019", "012020", "022020", "032020", "042020", "052020", "062020", "072020", "082020", "092020", "102020", "112020")
value <- c(100, 234, 269, 432, 150, 455, 66, 223, 333, 212, 111, 44)
data <- data.frame(time = as.Date(paste0("01", time), format = "%d%m%Y"), value)
data %>% plot_time_series(time, value)现在运行data %>% tk_get_timeseries_variables()应该将time作为timeseries变量。
https://stackoverflow.com/questions/66724018
复制相似问题