如何将日期列添加到数据框

how to add date-column to data frame

我有一个包含许多不同列的数据框(每列有 10 rows/entries),我想添加一个日期列作为该数据框的第一列。日期列应在今天结束并从今天 9 开始。 下面的数据框只是一个反例:

set.seed(123)
df <- data.frame(DE = rnorm(10, 2, 1), Wind = rnorm(10, 5, 2), Solar = rnorm(10, 2, 2))

所以在这种情况下,日期列应该是 c("2020-10-10", ..., "2020-10-19")

如何添加这样一个取决于当前日期的分类栏,比如今天是 10 月 19 日,所以日期应该开始 today()-9

您可以使用seq.Date函数生成这样的列表。这里我们使用 df 中的行数,但如果您愿意,也可以 hard-code 10

date_vals <- rev(seq(Sys.Date(), by="-1 days", length.out=nrow(df)))

我们从 10 开始,往回走一定步数,然后反转列表,首先得到最早的日期。

您也可以同时指定这两个日期

date_vals <- seq(Sys.Date()-9, Sys.Date(), by="1 day") 

然后,无论您以何种方式创建值,您都可以使用此

将它们添加为 data.frame 的第一列
df <- data.frame(dates=date_vals, df)