【问题标题】:Creating time stamps and repeat in the same column创建时间戳并在同一列中重复
【发布时间】:2019-03-21 22:53:15
【问题描述】:

我想创建一个包含 60 个每月日期的时间戳向量,并重复该过程n 次。这意味着,如果n = 2,向量应该包含 120 个时间戳。

我以这种方式创建的单个时间戳向量,

t <- seq(as.Date("2014-01-01"), as.Date("2018-12-31"), by = "month")

重复它n 我正在执行以下操作的次数,

n <- 2
X <- data.frame(replicate(n, seq(as.Date("2014-01-01"), as.Date("2018-12-31"), by = "month")))
Y <- stack(X)[,"values", drop=FALSE]
head(Y)

> head(Y)
  values
1  16071
2  16102
3  16130
4  16161
5  16191
6  16222

如您所见,这些值不再采用时间格式。我的问题是如何在向量 Y 中保留时间格式?有没有更聪明的方法来解决这个问题?

【问题讨论】:

  • help("rep")
  • 感谢您的提示。没想到rep。显然,这行得通,qq &lt;- rep(seq(as.Date("2014-01-01"), as.Date("2018-12-31"), by = "month"), 2)
  • 顺便说一句 seq 有一个 length.out 参数,您可能会发现它有帮助:seq(as.Date("2014-01-01"), length.out = 60, by = "month")。并尝试为您的向量找到另一个名称,t 已被占用。

标签: r date vector rep


【解决方案1】:

看一下'zoo'包,这里有一个旧线程https://stat.ethz.ch/pipermail/r-help//2010-March/233159.html

他们在哪里谈论同样的问题。

不管怎样,安装完zoo就可以了

as.Date(16071) 

它会以日期格式返回日期。希望这是有道理的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 2020-11-26
    • 2020-03-01
    相关资源
    最近更新 更多