dataset中有一个变量包含三种类型的值:文本(字符串)、数字和缺失值。它们现在都是作为一个因素储存起来的。我希望将文本内容与数字值和缺失值区分开来。我怎么能拿到呢?
Data <- data.frame(x=c("100","20","home","","30"))这里有三种类型的值,数字、文本和缺失值,我想找到所有文本的位置。
发布于 2017-08-24 14:26:30
可以使用regex分别提取文本、数字和缺失索引:
grep("[:alpha:]+", Data$x)
# [1] 3
grep("[0-9]+", Data$x)
# [1] 1 2 5
grep("^\\s*$", Data$x)
# [1] 4若要获取实际值,请使用value=TRUE
grep("[:alpha:]+", Data$x, value = TRUE)
# [1] "home"
grep("[0-9]+", Data$x, value = TRUE)
# [1] "100" "20" "30"
grep("^\\s*$", Data$x, value = TRUE)
# [1] ""[:alpha:]+匹配任何字母表一次或多次
[0-9]+匹配任何数字一次或多次
^匹配字符串的开始,$匹配字符串的结尾,\\s*匹配空格的0次或多次,因此^\\s*$只匹配空格0或更多次。
https://stackoverflow.com/questions/45862371
复制相似问题