【问题标题】:Sequence of Timestamps with Milliseconds以毫秒为单位的时间戳序列
【发布时间】:2020-04-02 15:01:39
【问题描述】:

我正在努力在数据帧中以毫秒为单位制作一系列时间戳。我可以在几秒钟内轻松做到这一点,但在使用毫秒时我遇到了问题。

options(digits.secs=1)
Time1 = "2018-06-26 14:12:00.0"
Time2 = "2018-06-28 14:34:00.0"

Time1 <- as.POSIXct(Time1 , format = "%Y-%m-%d %H:%M:%OS",tz = "UTC")
Time2 <- as.POSIXct(Time2 , format = "%Y-%m-%d %H:%M:%OS",tz = "UTC")

df <- data.frame(DateTime = as.character(seq.POSIXt(Time1,Time2,units = "milliseconds", by = 1)))

这只会返回一个秒序列:

1   2018-06-26 14:12:00
2   2018-06-26 14:12:01
3   2018-06-26 14:12:02
4   2018-06-26 14:12:03
5   2018-06-26 14:12:04

我还尝试了这篇帖子的修改版本Create a series of timestamps along milliseconds in R

df <- data.frame(DateTime = as.character(seq.POSIXt(Time1, Time2, units = "seconds", by = .1)))

这会返回一个奇怪的序列:

1   2018-06-26 14:12:00.0
2   2018-06-26 14:12:00.0
3   2018-06-26 14:12:00.2
4   2018-06-26 14:12:00.2
5   2018-06-26 14:12:00.4
6   2018-06-26 14:12:00.5

我正在尝试创建的内容:

1   2018-06-26 14:12:00.0
2   2018-06-26 14:12:00.1
3   2018-06-26 14:12:00.2
4   2018-06-26 14:12:00.3
5   2018-06-26 14:12:00.4
6   2018-06-26 14:12:00.5
...
...

【问题讨论】:

  • 当您使用:%OS时,您的操作系统是什么?
  • 这能回答你的问题吗? Milliseconds in POSIXct Class
  • 我使用的是 Windows,不,我看到了这个问题,它没有帮助。
  • 以下是否满足您的需求?

标签: r timestamp


【解决方案1】:

基本上你需要有你的length.out,每个案例。所以,使用这个非常有用的extract_number_from_string,使用difftime,我将Time2_POS 放在Time1_POS 之前,以获得正回报:

dif_T2_T1 <- difftime(Time2_POS, Time1_POS, units = 'secs')
pattern <- '(\\d)+'
as.numeric(str_extract(dif_T2_T1, pattern = pattern))
[1] 174120

很公平,但我们需要十倍以上:

as.numeric(str_extract(dif_T2_T1, pattern = pattern)) * 10
[1] 1741200

df  <- data.frame(Date_Time = as.character(seq.POSIXt(Time1_POS, Time2_POS, units = 'seconds', length.out = 1741200)))

这给了我们:

df3$Date_Time[1:20]
 [1] 2018-06-26 14:12:00.0 2018-06-26 14:12:00.1 2018-06-26 14:12:00.2 2018-06-26 14:12:00.3
 [5] 2018-06-26 14:12:00.4 2018-06-26 14:12:00.5 2018-06-26 14:12:00.6 2018-06-26 14:12:00.7
 [9] 2018-06-26 14:12:00.8 2018-06-26 14:12:00.9 2018-06-26 14:12:01.0 2018-06-26 14:12:01.1
[13] 2018-06-26 14:12:01.2 2018-06-26 14:12:01.3 2018-06-26 14:12:01.4 2018-06-26 14:12:01.5
[17] 2018-06-26 14:12:01.6 2018-06-26 14:12:01.7 2018-06-26 14:12:01.8 2018-06-26 14:12:01.9
1741200 Levels: 2018-06-26 14:12:00.0 2018-06-26 14:12:00.1 ... 2018-06-2  14:34:00.0

HTH

【讨论】:

猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 2015-06-17
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多