R: 我如何生成一个日期序列来填充一列中的所有行?

问题描述 投票:0回答:1

我想在Lubridate上生成以下序列

seq(ymd('2017-03-12'),ymd('2020-02-23'), by = '1 week')

并将生成的周数作为一列存储在现有的102行的data.frame中。

当我尝试使用 dataframe["newcolumnname] <- seq(ymd('2017-03-12'),ymd('2020-02-23'), by = '1 week')

它抛出了一个错误。Error in [<-.data.frame(*tmp *, "Year", value = c(17237, 17244, 17251,:替换有155行,数据有102行。

在R中生成一列日期序列的最有效方法是什么?

r data-cleaning
1个回答
0
投票

dates <- seq(from=as.Date("2017-03-12"), to=as.Date("2020-02-23"), by = "weeks") 的时候,工作正常。我认为你的问题是你试图将数据装入的dataframe的长度(如错误中所述)。

EDIT:我知道我们的目标是让数据框适合新的列大小,我的建议是:使用以下方法 cbind.fill() 从包里

cbind.fill(a,b, fill = NA)

将用NA填充两个要素中最短的一个。

另外,我一定会推荐你去看看这个项目。xts 包来玩转R中的时间序列。

© www.soinside.com 2019 - 2024. All rights reserved.