正则表达式 – 转换为数字:简化2次gsub调用
发布时间:2020-12-14 05:47:20 所属栏目:百科 来源:网络整理
导读:我想将字母数字向量转换为数字向量.现在,我正在使用正则表达式,但有2次调用gsub: ## wrapping this in function to_numeric - function(x) gsub(',','.',gsub("[^(d|,)]","",x,perl=TRUE))## call it to_numeric(c('a12,12','Atr 145 ',' 14 5,1 4A'))##
我想将字母数字向量转换为数字向量.现在,我正在使用正则表达式,但有2次调用gsub:
## wrapping this in function to_numeric <- function(x) gsub(',','.',gsub("[^(d|,)]","",x,perl=TRUE)) ## call it to_numeric(c('a12,12','Atr 145 ',' 14 5,1 4A')) ## [1] "12.12" "145" "145.14" 如何使用独特的正则表达式或任何其他方法将此简化为一次调用? 解决方法
如果使用基数R,您将需要使用级联调用来进行不同的替换.
但是,您可以使用gsubfn软件包,使用替换列表进行简化. library(gsubfn) x <- c('a12,1 4A') gsubfn('D+',list(',' = '.',''),x) # [1] "12.12" "145" "145.14" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |