【问题标题】:R: how to plot a "time series" with ggplot2R:如何用 ggplot2 绘制“时间序列”
【发布时间】:2021-03-17 17:57:27
【问题描述】:

我在 R 中模拟了一些时间序列数据,每 8 天汇总一次,然后尝试绘制结果。但是,这些情节不起作用。我在下面发布了我的代码:

#load library
library(xts)
library(ggplot2)

set.seed(123)
    
#simulate data
    property_damages_in_dollars <- rnorm(731,100,10)

date_decision_made = seq(as.Date("2014/1/1"), as.Date("2016/1/1"),by="day")
    
    date_decision_made <- format(as.Date(date_decision_made), "%Y/%m/%d")
    
final_data <- data.frame(date_decision_made, property_damages_in_dollars)

#convert to xts object
dat <- xts(final_data$property_damages_in_dollars, 
           as.Date(final_data$date_decision_made, '%Y/%m/%d'))

#aggregate by 8 day period
ep <- endpoints(dat,'days',k=8)

a = period.apply(x=dat,ep,FUN=sum )

#plot : does not work
plot(a)

#plot using ggplot :does not work

ggplot(a, aes(x = a[,1], y=a$a))+
         geom_line(aes(group=1))+
  scale_x_discrete(guide = guide_axis(n.dodge=2))+
  theme(axis.text.x = element_text(angle = 45))

谁能告诉我我做错了什么?

谢谢

【问题讨论】:

  • date_decision_made 需要定义。
  • @Phil:但我已经定义了“date_decision_made”?
  • date_decision_made &lt;- format(as.Date(date_decision_made), "%Y/%m/%d") 在没有先定义其值的情况下将无法工作。
  • @Phil:谢谢你的建议,我试过这条线,但它似乎仍然不起作用。
  • 这就是我指出它的原因。除非您先定义 date_decision_made,否则我们无法重现您的问题并帮助您解决它。

标签: r ggplot2 plot time-series data-visualization


【解决方案1】:
autoplot(a, geom = "point")

自动绘图似乎工作。更多信息here

【讨论】:

    猜你喜欢
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 2017-03-04
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多