r - 生成日期序列

标签 r

我想用下一个代码生成日期序列:

vm1=strptime("2000-01-01 00:00:00", format="%Y-%m-%d %H:%M:%S")
vm2=strptime("2011-12-31 23:55:00", format="%Y-%m-%d %H:%M:%S")
vm3=seq(vm1, vm2, by = min(300))

问题是在某些特定日期程序会更改时区并省略部分生成的数据。例如:
vm3[24500:24510]

我将不胜感激任何帮助或指示。

最佳答案

vm3的那一段对我来说看起来不错(英国语言环境,GMT/BST 时区)。考虑强制您的日期使用世界时,然后稍后更正到您的本地时区。

vm1=strptime("2000-01-01 00:00:00", format="%Y-%m-%d %H:%M:%S", tz = "UTC")
vm2=strptime("2011-12-31 23:55:00", format="%Y-%m-%d %H:%M:%S", tz = "UTC")
vm3=seq(vm1, vm2, by = "300 mins")
any(is.na(vm3)) #FALSE

顺便说一句,你想要一个 by "300 mins" 的论据,不是 min(300) . min是最小函数;它与分钟无关。

关于r - 生成日期序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14706330/

相关文章:

删除 geom_histogram 的基线颜色

r - dplyr bind_rows 不保留变量标签

r - 是否有估计多元自然三次样条(或类似)函数的 R 库?

使用多因子预测器从 GLM 中删除截距

r - curl 错误 - SSL 证书问题 : unable to get local issuer certificate

java - R 寻找错误的 Java 版本

r - 情节(r): Unable to apply correct colors to 3D scatter and show legend at the same time

r - mean(rnorm(100,mean=0,sd=1)) 不是 0;并且 sd(rnorm(100,mean=0,sd=1)) 不是 1。为什么?

r - 使用公式转换数据框

r - linux redhat gsl R安装错误: cannot run C compiled programs.