R 一天中随时间变化的直方图

R 一天中随时间变化的直方图,r,ggplot2,R,Ggplot2,我有一个数据框,其中一列包含不同的日期,包括时间,例如 as.POSIXct(c("2017-07-03 08:23:00", "2017-07-03 09:00:00", "2017-07-03 17:23:00", "2017-07-03 18:05:00", "2017-07-04 08:24:00", "2017-07-04 09:02:00",

我有一个数据框,其中一列包含不同的日期,包括时间,例如

as.POSIXct(c("2017-07-03 08:23:00",
             "2017-07-03 09:00:00",
             "2017-07-03 17:23:00",
             "2017-07-03 18:05:00",
             "2017-07-04 08:24:00",
             "2017-07-04 09:02:00",
             "2017-07-04 17:24:00",
             "2017-07-04 18:01:00",
             "2017-07-05 08:57:00",
             "2017-07-05 09:31:00",
             "2017-07-05 16:25:00",
             "2017-07-05 17:14:00"))
现在我想看看某个时间间隔发生多少次(比如15分钟)。因此,我的目标是得到一个频率(所有天)与时间的直方图

有什么提示吗

编辑:我试图提取时间

df$Time <- hm(format(df$Date, "%H:%M"))

我这里的主要问题是如何使用ggplot进行绘图。

可能是一种更简单的方法,但这是我的方法

library(plyr)
library(lubridate)

#Sample Data
df<-data.frame(time=as.POSIXct(c(
  '2017-07-03 08:23:00',
  '2017-07-03 09:00:00',
  '2017-07-03 17:23:00',
  '2017-07-03 18:05:00',
  '2017-07-04 08:24:00',
  '2017-07-04 09:02:00',
  '2017-07-04 17:24:00',
  '2017-07-04 18:01:00',
  '2017-07-05 08:57:00',
  '2017-07-05 09:31:00',
  '2017-07-05 16:25:00',
  '2017-07-05 17:14:00')))

#Extract Time
df$hour = hour(df$time) + minute(df$time)/60 + second(df$time)/3600

#Create Bins
bins=c(paste0(rep(c(paste0(0,0:9),10:23), each=4),".", c("00",25,50,75))[-1],"24:00")

#Divide Data Into Bins
df$bins = cut(df$hour, breaks=seq(0, 24, 0.25), labels=bins)

#Reformat to Numeric
df$bins <- as.numeric(as.character(df$bins))

#Histogram
hist(df$bins)

#With ggplot
library(ggplot2)
ggplot(df, aes(bins)) +
  geom_histogram()
库(plyr)
图书馆(lubridate)
#样本数据

df可能是一种更简单的方法,但这是我的方法

library(plyr)
library(lubridate)

#Sample Data
df<-data.frame(time=as.POSIXct(c(
  '2017-07-03 08:23:00',
  '2017-07-03 09:00:00',
  '2017-07-03 17:23:00',
  '2017-07-03 18:05:00',
  '2017-07-04 08:24:00',
  '2017-07-04 09:02:00',
  '2017-07-04 17:24:00',
  '2017-07-04 18:01:00',
  '2017-07-05 08:57:00',
  '2017-07-05 09:31:00',
  '2017-07-05 16:25:00',
  '2017-07-05 17:14:00')))

#Extract Time
df$hour = hour(df$time) + minute(df$time)/60 + second(df$time)/3600

#Create Bins
bins=c(paste0(rep(c(paste0(0,0:9),10:23), each=4),".", c("00",25,50,75))[-1],"24:00")

#Divide Data Into Bins
df$bins = cut(df$hour, breaks=seq(0, 24, 0.25), labels=bins)

#Reformat to Numeric
df$bins <- as.numeric(as.character(df$bins))

#Histogram
hist(df$bins)

#With ggplot
library(ggplot2)
ggplot(df, aes(bins)) +
  geom_histogram()
库(plyr)
图书馆(lubridate)
#样本数据

DF您尝试了什么?可能重复@Sotos:seeedit@sebastianmm嗯,有点,但我主要感兴趣的是绘图部分,而不是分组。一旦分组完成,绘图部分就非常简单了。你尝试了什么?可能重复@Sotos:seeedit@sebastianmm嗯,有点,但是我主要感兴趣的是绘图部分,而不是分组。一旦分组完成,绘图部分就非常简单了。