【问题标题】:How to match two columns with nearest time points?如何将两列与最近的时间点匹配?
【发布时间】:2018-02-25 22:11:38
【问题描述】:

我有以下数据框。这是一个时间序列,每个观察值都有第 1-4 天的值。还有一列显示测试的时间(以小时为单位)。

    dt
Name  values Days   Test  
 a    0.2    1      20
 a    0.3    2      20 
 a    0.6    3      20
 a    0.2    4      20
 b    0.3    1      44
 b    0.4    2      44
 b    0.8    3      44
 b    0.7    4      44
 c    0.2    1      24
 c    0.7    2      24

我必须制作一个时间序列,使每一行都代表主题。 首先,我制作了一个包含日期和值的图,主题为颜色。

这给了我每个主题的线图,根据日期和值绘制。我很满意。

但是,我必须在线图上进行测试时加入。我可以在情节的顶部或底部单独进行。但不完全就行了。

有人可以帮帮我吗?

提前致谢!

【问题讨论】:

    标签: r


    【解决方案1】:

    使用directlabels包添加时间:

    library(ggplot2)
    library(directlabels)
    
    ggplot(DF, aes(Days, values, color = Name)) + 
         geom_line() +
         geom_dl(aes(label = Test), method = "last.points")
    

    注意

    可重现形式的输入DF 是:

    Lines <- "
    Name  values Days   Test  
     a    0.2    1      20
     a    0.3    2      20 
     a    0.6    3      20
     a    0.2    4      20
     b    0.3    1      44
     b    0.4    2      44
     b    0.8    3      44
     b    0.7    4      44
     c    0.2    1      24
     c    0.7    2      24"
    
    DF <- read.table(text = Lines, header = TRUE)
    

    【讨论】:

    • 您好,感谢您的回答!我想使用一些符号在与确切位置相对应的线上绘制“20”,例如 1 和 2 之间。
    猜你喜欢
    • 2019-11-12
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 2013-03-25
    • 2019-03-01
    • 1970-01-01
    相关资源
    最近更新 更多