【发布时间】:2022-01-22 19:14:38
【问题描述】:
我有一个类似于以下的数据框:
> library(lubridate)
> df <- data.frame(name = c("george", "sara", "sam", "bill"),
start_date = mdy(c("January 1, 2022", "January 2, 2022", "January 5, 2022", "January 6, 2022")),
end_date = mdy(c("January 3, 2022", "January 4, 2022", "January 6, 2022", "January 8, 2022")),
group = c(1,1,2,2))
> df <- df %>%
mutate(date_range = interval(start_date,
end_date))
> df
name start_date end_date group date_range
1 george 2022-01-01 2022-01-03 1 2022-01-01 UTC--2022-01-03 UTC
2 sara 2022-01-02 2022-01-04 1 2022-01-02 UTC--2022-01-04 UTC
3 sam 2022-01-05 2022-01-06 2 2022-01-05 UTC--2022-01-06 UTC
4 bill 2022-01-06 2022-01-08 2 2022-01-06 UTC--2022-01-08 UTC
如果可能,我想使用 ggplot 创建两个图:
有什么想法吗?我是新手,因此画出了我想要的东西,我希望它对您有所帮助和清晰。
【问题讨论】:
-
您可能需要重新整形为 long 然后绘制
df %>% pivot_longer(cols = ends_with('date'), names_to = 'date_name') %>% ggplot(aes(value, name)) + geom_line() -
啊,这对我来说很有意义。谢谢!
标签: r datetime ggplot2 intervals date-range