如何区分文本与R中的数字和缺失值?
数据集中有一个变量包含三种类型的值:文本(字符串)、数字和缺少的值。它们现在都存储为一个因子。我想将文本内容与数值和缺少的值区分开来。我怎么能得到它如何区分文本与R中的数字和缺失值?,r,text,replace,R,Text,Replace,数据集中有一个变量包含三种类型的值:文本(字符串)、数字和缺少的值。它们现在都存储为一个因子。我想将文本内容与数值和缺少的值区分开来。我怎么能得到它 Data <- data.frame(x=c("100","20","home","","30")) Data您可以使用正则表达式分别提取文本、数字和缺失索引: grep("[:alpha:]+", Data$x) # [1] 3 grep("[0-9]+", Data$x) # [1] 1 2 5 grep("^\\s*$", Dat
Data <- data.frame(x=c("100","20","home","","30"))
Data您可以使用正则表达式分别提取文本、数字和缺失索引:
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*
匹配空格零次或多次,因此^\\s*$
只匹配空格零次或多次。使用is.numeric
和is.na
?但是您应该向我们展示这些数据。它只会提供字符串或缺失值的数据,因此我无法区分缺失值和字符串。稍后我将向您展示我的数据。