【问题标题】:add additional dates to a data frame向数据框添加其他日期
【发布时间】:2016-10-25 18:54:00
【问题描述】:

我有一个数据框,它包含一个日期列和相应的值(所以 2 列矩阵)。我想添加额外的行来延长数据的周期。我的数据从 1990 年初开始每小时开始,我想每小时将其延长到 1979 年初,相应的值为 NA。 有没有办法做到这一点? 谢谢

【问题讨论】:

  • 欢迎来到 SO。请阅读(1)我如何提出一个好问题,(2)如何创建 MCVE 以及(3)如何在 R 中提供一个最小的可重现示例。然后相应地编辑和改进您的问题。

标签: r date dataframe


【解决方案1】:

内推或外推数据集采样频率的最通用方法是将现有数据集连接到您希望数据具有的日期时间向量。这是一个例子:

library(dplyr)
library(lubridate)

df_foo = data_frame(
  # assuming that this is the existing dataset
  Datetime = seq.POSIXt(
    from = as.POSIXct("1990-01-01 00:00:00"),
    to = as.POSIXct("2000-01-01 00:00:00"),
    by = "hour"
  ),
  value = rnorm(
    n = length(
      seq.POSIXt(
        from = as.POSIXct("1990-01-01 00:00:00"),
        to = as.POSIXct("2000-01-01 00:00:00"),
        by = "hour"
      )
    )
  )
)


df_foo_extended = df_foo %>% 
  full_join(
    data_frame(
      Datetime = seq.POSIXt(
        from = as.POSIXct("1979-01-01 00:00:00"),
        to = as.POSIXct("2000-01-01 00:00:00"),
        by = "hour"
      )
    ),
    by = "Datetime"
  )

你没有告诉我们你的数据集在哪里结束,所以我武断地假设它在 2000 年结束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 2017-01-14
    • 2019-04-04
    • 2021-05-12
    • 1970-01-01
    相关资源
    最近更新 更多