给定输入向量(iv)
iv <- c(.10,.15,"hello","."," . ",". ")
我正在使用:
out <- sub(regexp,NA,iv)
我想要这样的输出向量:
.10,NA
但是,不知道如何形成正则表达式以获得我需要的东西.提前致谢.
解决方法
gsub('^\\s*[.]\\s*$','NA',c(.10,". ")) [1] "0.1" "0.15" "hello" "NA" "NA" "NA"
编辑用NA替换’NA’
gsub('^\\s*[.]\\s*$',". ")) [1] "0.1" "0.15" "hello" NA NA NA
使用stringr编辑
library(stringr) x <- c(.10,". ") x[str_trim(x) == '.'] <- NA x [1] "0.1" "0.15" "hello" NA NA NA