如果要在一行中执行所有操作,可以使用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)