【发布时间】:2016-10-25 18:54:00
【问题描述】:
我有一个数据框,它包含一个日期列和相应的值(所以 2 列矩阵)。我想添加额外的行来延长数据的周期。我的数据从 1990 年初开始每小时开始,我想每小时将其延长到 1979 年初,相应的值为 NA。 有没有办法做到这一点? 谢谢
【问题讨论】:
我有一个数据框,它包含一个日期列和相应的值(所以 2 列矩阵)。我想添加额外的行来延长数据的周期。我的数据从 1990 年初开始每小时开始,我想每小时将其延长到 1979 年初,相应的值为 NA。 有没有办法做到这一点? 谢谢
【问题讨论】:
内推或外推数据集采样频率的最通用方法是将现有数据集连接到您希望数据具有的日期时间向量。这是一个例子:
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 年结束。
【讨论】: