【问题标题】:How to create a plot using the hourly data for each day如何使用每天的每小时数据创建绘图
【发布时间】:2020-05-06 12:08:35
【问题描述】:

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

我想制作一个简单的图来查看每个月相应日期和时间的空气质量。像这样的东西 Expectedpicture

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

这就是我加载数据的方式。

Data= 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 ...

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

**

【问题讨论】:

  • 嗨 tashu,您能否编辑您的帖子以显示您如何将数据加载到 r 以及您收到的错误消息?
  • 是的,我做到了。谢谢

标签: r ggplot2 time-series timeserieschart


【解决方案1】:

编辑:这使用您的示例数据。日期格式似乎是%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")

【讨论】:

  • 结构(列表(日期 = 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")
  • 很高兴听到!听起来它可能与日期的格式有关。请注意,包lubridate 也非常适合使用日期和时间进行各种转换。
猜你喜欢
  • 2019-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-26
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 1970-01-01
相关资源
最近更新 更多