Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R清理字符并将其转换为数字_R - Fatal编程技术网

R清理字符并将其转换为数字

R清理字符并将其转换为数字,r,R,R清理字符串并将其转换为数字 我有一个字符串 abc <- " 267750Â" class(abc) "character" 感谢您的帮助。您可以用正则表达式解析出不需要的内容: test <- "532.dcx3vds98" destring <- function(x,keep="0-9.") { return( as.numeric(gsub(paste("[^",keep,"]+",sep=""),"",x)) ) } destring(test) 使用

R清理字符串并将其转换为数字

我有一个字符串

abc <-  " 267750Â"

class(abc)
"character"

感谢您的帮助。

您可以用正则表达式解析出不需要的内容:

test <- "532.dcx3vds98"
destring <- function(x,keep="0-9.") {
  return( as.numeric(gsub(paste("[^",keep,"]+",sep=""),"",x)) )
}
destring(test)

使用
stringr
稍微短一点:

    # load library
    library(stringr)
    # load data
    abc <-  "Â 267750Â"
    # extract digits
    abc <- as.numeric(str_extract(abc, "[0-9]+"))
    # check the result
    abc
    [1] 267750
    class(abc)
    [1] "numeric"
#加载库
图书馆(stringr)
#加载数据

这很有帮助。非常感谢,当然可以。我可能会将该函数添加到下一版本的
taRifx
,以便更易于使用。如果有人想到任何需要添加的智能功能(或更好的函数名),请告诉我。
library(taRifx)
test <- "532.dcx3vds98"
destring(test)
    # load library
    library(stringr)
    # load data
    abc <-  "Â 267750Â"
    # extract digits
    abc <- as.numeric(str_extract(abc, "[0-9]+"))
    # check the result
    abc
    [1] 267750
    class(abc)
    [1] "numeric"