[英]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.