【问题标题】:R: How do I generate a sequence of dates to populate all rows within a column?R:如何生成日期序列来填充列中的所有行?
【发布时间】:2020-09-21 05:12:34
【问题描述】:

我想在 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')

它会抛出一个错误: [

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

【问题讨论】:

  • 对 R 来说真的很新。所以非常感谢任何帮助。
  • 关于 R 中时间序列分析的一切都可以在这里找到:otexts.com/fpp2

标签: r data-cleaning


【解决方案1】:

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

编辑:知道目标是让数据框适合新的列大小,这是我的建议: 使用包rowr中的方法cbind.fill()

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

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

顺便说一句,我肯定会推荐查看 xts 包以在 R 中使用时间序列。

【讨论】:

  • 感谢您的评论!后者,拥有适合日期系列的数据框是目标。
猜你喜欢
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 2020-03-15
  • 2021-09-15
相关资源
最近更新 更多