繁体   English   中英

在R编程中保留时间序列为一秒的时间序列数据

[英]Retain time series data with duration of one second in R programming

所以我有一个时间序列数据,每15到18毫秒捕获一次,如下所示。

    tts <- ("10:49:56:459524", "10:49:56:580531", "10:49:56:720539","10:49:56:861547", "10:49:57:004555", "10:49:57:145563"......)

我的问题是如何处理该数据,其中我只能保留持续时间为1秒的数据,如下所示。

    delta_tts
    10:49:56
    10:49:57
    ....

我想将时间格式修整为hh:mm:ss,但是无法做到。

如果我们将它们视为字符串,则可以拆分并获取前三个元素,也可以使用简单的正则表达式,即

sapply(strsplit(tts, ':'), function(i)paste(i[1:3], collapse = ':'))

#Or with Regex,

gsub(":*\\w*$", "", tts)

将两个语句都包装在unique()以获取唯一时间。

由于它是时间序列数据,因此我们可以将它们视为POSIXct对象,然后使用format以所需format获取数据

format(as.POSIXct(tts, format = "%T"), "%T")
#[1] "10:49:56" "10:49:56" "10:49:56" "10:49:56" "10:49:57" "10:49:57"

或与strptime

format(strptime(tts, format = "%T"), "%T")

数据

tts <- c("10:49:56:459524", "10:49:56:580531", "10:49:56:720539",
         "10:49:56:861547", "10:49:57:004555", "10:49:57:145563")

我们可以使用substr

substr(tts, 1, 8)
#[1] "10:49:56" "10:49:56" "10:49:56" "10:49:56" "10:49:57" "10:49:57"

或使用sub

sub(":[^:]*$", "", tts)

数据

tts <- c("10:49:56:459524", "10:49:56:580531", "10:49:56:720539",
     "10:49:56:861547", "10:49:57:004555", "10:49:57:145563")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM