如何使用每天的每小时数据创建图表

How to create a plot using the hourly data for each day

我是 R 的初学者,我有一个包含 2 个变量的 CSV 文件。列名 <> 具有 12 个月内每一天的日期和时间值组合,并且变量具有与日期相关的 <> 列。 这是数据的例子: enter image description here

我想做一个简单的图表来查看每个月各自日期和时间的空气质量。像这样的东西 Expectedpicture

我不需要做任何计算,因为数据已经是小时平均值了。但是我很难制作情节。

这是我加载数据的方式。

数据=read.csv("EarthSense.csv") ** 然后我尝试将时间和小时分开,但这不起作用,因为它将所有内容都转换为 NA。

**Hours <- format(as.POSIXct(strptime(Data$date,"%d/%m/%Y %H:%M",tz="")) 
,format = "%H:%M")
 glimpse(Hours)
 Dates <- format(as.POSIXct(strptime(Data$date,"%d/%m/%Y %H:%M",tz="")) 
 ,format = "%d/%d/%Y")
 glimpse(Dates)
 **

chr [1:8750] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA...

**ggplot(data=Data,aes(x=date, y=value)) + 
  geom_path(colour="red") + 
  ylab("Temperatura (ºC)") + 
  xlab("Fecha")

**

编辑:这使用了您的示例数据。日期格式似乎是 %Y-%m-%d %H:%M:%S.

df$fdate <- as.POSIXct(df$date, format = "%Y-%m-%d %H:%M:%S")
df$hour <- as.numeric(format(df$fdate, "%H"))
df$mo_yr <- as.factor(format(df$fdate, "%b-%Y"))

ggplot(data=df, aes(x=hour, y=PM2P5, col=mo_yr)) + 
  geom_line() + 
  ylab("Temperatura (ºC)") + 
  xlab("Hora")

请注意,这会产生月-年因素。其他处理月-年对象的方法包括 tsibble 包中的 yearmonthzoo 包中的 yearmon

数据

df <- structure(list(date = c("2019-01-01 02:00:00", "2019-01-01 03:00:00", "2019-01-01 04:00:00", "2019-01-01 05:00:00", "2019-01-01 06:00:00", "2019-01-01 07:00:00"), 
               PM2P5 = c(20.8, 7.1, 6.1, 9.7, 6.8, 12.2 )), row.names = c(NA, 6L), class = "data.frame")