时间转换为数字

Dmi*_*try 2 regex string time r numeric

有一个带有时间值的向量.如何删除冒号并将文本值转换为数值.即从"10:01:02" - 字符到100102 - 数字.我能找到的所有内容如下.

> x <- c("10:01:02", "11:01:02")  
> strsplit(x, split = ":")
[[1]]
[1] "10" "01" "02"

[[2]]
[1] "11" "01" "02"
Run Code Online (Sandbox Code Playgroud)

And*_*ēza 5

如果要在一行中执行所有操作,可以使用destring()函数from taRifx删除非数字的所有内容并将结果转换为数字.

taRifx::destring(x)
Run Code Online (Sandbox Code Playgroud)

如果您的某些数据以不同的方式格式化,例如"10-01-02",虽然您可能必须设置值,这也会有效keep.

destring("10-10-10", keep = "0-9")
Run Code Online (Sandbox Code Playgroud)

如果您不想安装taRifx软件包,可以在destring()本地定义该功能.

destring <- function(x, keep = "0-9.-") 
{
    return(as.numeric(gsub(paste("[^", keep, "]+", sep = ""), 
        "", x)))
}
Run Code Online (Sandbox Code Playgroud)