【问题标题】:R plots from Excel time serial numbers?R从Excel时间序列号绘图?
【发布时间】:2017-06-16 14:50:35
【问题描述】:

我有两年(2012-2013)期间每15分钟获得一次潮汐高度的数据,格式为:时间41000、41000.01042、41000.02083等;高度 1.813、1.802、1.774 等

时间序列号来自 Excel,我理解为 1900 年 1 月 1 日之后的天数。我希望在 R 中绘制数据,x 轴为日期,y 轴为高度。有人可以建议如何最好地做到这一点吗?谢谢。

【问题讨论】:

  • as.Date(41000, origin = '1899-12-30') 您可以将它们转换为这样的日期。
  • 或使用readxl包中的read_excel函数导入日期完整的Excel数据。然后,您需要在包 lubridate 中使用 force_tz() 来分配正确的时区。

标签: r excel time


【解决方案1】:

如果你在 Windows 上,那么这对你有用:

as.POSIXct(as.Date(41000.02083,origin="1899-12-30"))

> "2012-03-31 20:29:59 EDT" #This has been converted based on my local timezone

在 Mac 上,您需要不同的 origin="1904-01-01"

我制作了这个示例数据集:

datenum <- c(41000, 41000.01042, 41000.02083)
height  <- c(2.813, 1.802, 0.774) #Edit the heights to make it visually appealing
df <- data.frame(cbind(datenum = datenum, height=height))

然后添加一个具有正确日期时间格式的列:

df$Date <- as.POSIXct(as.Date(df$datenum,origin="1899-12-30")) #Origin for windows excel

并绘制条形图:

barplot(df$height,names.arg=df$Date,col="lightblue")

这将是图表:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    相关资源
    最近更新 更多