【问题标题】:Time series plotting on R grouped by ID按 ID 分组的 R 上的时间序列图
【发布时间】:2021-02-14 08:34:02
【问题描述】:

我有以下数据框:

Id    Price   Animals  X       Date
A     1       Dog      Kiwi    05/2020
B     1       Cat      NA      06/2020
B     3       Dog      NA      07/2020
A     4       Cat      Banana  08/2020
A     5       Mouse    Apple   01/2020
B     9       Cat      Melon   02/2020
C     0       Cat      NA      03/2020
C     4       Cat      NA      05/2020

在 R 上,我正在尝试绘制价格列的 三个 不同时间序列图,按 ID 分组。之后我想在一个独特的图表上展示它们。有什么快速命令可以这样做吗? 谢谢!

【问题讨论】:

    标签: r dataframe plot time-series


    【解决方案1】:

    您可以在ggplot2 中使用构面。请注意,最好先转换为实际日期。

    目前尚不清楚时间序列在此处是否对不同的动物有意义,但我添加了一条可选线以根据颜色点显示动物类型。如果这不是您要查找的内容,您可以删除此行。

    df$Date <- as.Date(paste0("01/", df$Date), format = "%d/%m/%Y")
    
    library(ggplot2)
    
    ggplot(df, aes(Date, Price)) + 
      geom_line() + 
      facet_grid(Id~.) +
      theme_bw()
    


    数据

    df <- structure(list(Id = c("A", "B", "B", "A", "A", "B", "C", "C"), 
        Price = c(1L, 1L, 3L, 4L, 5L, 9L, 0L, 4L), Animals = c("Dog", 
        "Cat", "Dog", "Cat", "Mouse", "Cat", "Cat", "Cat"), X = c("Kiwi", 
        NA, NA, "Banana", "Apple", "Melon", NA, NA), Date = c("05/2020", 
        "06/2020", "07/2020", "08/2020", "01/2020", "02/2020", "03/2020", 
        "05/2020")), class = "data.frame", row.names = c(NA, -8L))
    
    df
    #>   Id Price Animals      X    Date
    #> 1  A     1     Dog   Kiwi 05/2020
    #> 2  B     1     Cat   <NA> 06/2020
    #> 3  B     3     Dog   <NA> 07/2020
    #> 4  A     4     Cat Banana 08/2020
    #> 5  A     5   Mouse  Apple 01/2020
    #> 6  B     9     Cat  Melon 02/2020
    #> 7  C     0     Cat   <NA> 03/2020
    #> 8  C     4     Cat   <NA> 05/2020
    
    
    

    reprex package (v0.3.0) 于 2020 年 11 月 1 日创建

    【讨论】:

    • @Waie 你想用 y 轴做什么?
    • 而不是 0.0, 2.5, 5.0, 7.5;我只想要 2.5 和 7.5,因为在我的图中,数字重叠显着。
    • @Waie 在theme_bw() 之后添加+ scale_y_continuous(breaks = c(2.5, 7.5))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    相关资源
    最近更新 更多