如何统计时间日期

时间:2014-02-23 16:30:44

标签: r ggplot2

我连续几次,

2013-12-27 00:31:15
2013-12-29 17:01:17
2013-12-31 01:52:41
....

我的目标是知道一天中的什么时间更重要,就像大多数时间都在17:00~19:00之间。

为了做到这一点,我想我应该每次都画一个x轴的点,x轴的单位是微小的。

  1. 我不知道如何与R和ggplot2完全一致。
  2. 我是在正确的路上吗?我的意思是,有没有更好的方法来实现我的目标?

1 个答案:

答案 0 :(得分:2)

library(chron)

# create some test data - hrs

set.seed(123)

Lines <- "2013-12-27 00:31:15
2013-12-29 17:01:17
2013-12-31 01:52:41
"
tt0 <- times(read.table(text = Lines)[[2]]) %% 1
rng <- range(tt0)
hrs <- 24 * as.vector(sort(diff(rng) * runif(100)^2 + rng[1]))

# create density, find maximum of it and plot

d <- density(hrs)
max.hrs <- d$x[which.max(d$y)]
ggplot(data.frame(hrs)) + 
    geom_density(aes(hrs)) + 
    geom_vline(xintercept = max.hrs)

,并提供:

> max.hrs # in hours - nearly 2 am
[1] 1.989523 
> times(max.hrs / 24) # convert to times
[1] 01:59:22

enter image description here