用日期序列创建数据框

时间:2018-11-26 05:11:13

标签: r time time-series

在创建带有日期序列(从2018年1月到2018年10月的月)的数据框并带有值列表时,我有以下几行:

sales <- c(429, 400, 986, 618, 754, 424, 289, 401, 916, 852)
periods <- seq(as.Date("2018/1/1"), as.Date("2018/10/1"), "months")

Passengers <- data.frame(sales, periods)
pax <- ts(Passengers)

ggplot(pax, aes(x = months, y = sales)) + geom_line(colour = "grey75") 

输出未显示一列句点:

Time Series:
Start = 1 
End = 10 
Frequency = 1 
   sales periods
 1   429   17532
 2   400   17563
 3   986   17591
 4   618   17622
 5   754   17652
 6   424   17683
 7   289   17713
 8   401   17744
 9   916   17775
10   852   17805

month的x轴显示的不像一个月,怎么以yyyy-mm格式显示?谢谢。

1 个答案:

答案 0 :(得分:1)

对于您期望的输出结果,我也感到困惑。在ts中,您需要指定第一次观察的时间和每单位时间的观察数(有关详细信息和示例,请参见?ts

也许您正在追求zoo提供的功能?

library(zoo)
z <- zoo(Passengers$sales, Passengers$periods)
plot(z)

enter image description here

time(z)
#[1] "2018-01-01" "2018-02-01" "2018-03-01" "2018-04-01" "2018-05-01"
#[6] "2018-06-01" "2018-07-01" "2018-08-01" "2018-09-01" "2018-10-01"