首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何区分R中的文本与数值和缺失值?

如何区分R中的文本与数值和缺失值?
EN

Stack Overflow用户
提问于 2017-08-24 13:02:12
回答 1查看 78关注 0票数 2

dataset中有一个变量包含三种类型的值:文本(字符串)、数字和缺失值。它们现在都是作为一个因素储存起来的。我希望将文本内容与数字值和缺失值区分开来。我怎么能拿到呢?

代码语言:javascript
复制
Data <- data.frame(x=c("100","20","home","","30"))

这里有三种类型的值,数字、文本和缺失值,我想找到所有文本的位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-24 14:26:30

可以使用regex分别提取文本、数字和缺失索引:

代码语言:javascript
复制
grep("[:alpha:]+", Data$x)
# [1] 3

grep("[0-9]+", Data$x)
# [1] 1 2 5

grep("^\\s*$", Data$x)
# [1] 4

若要获取实际值,请使用value=TRUE

代码语言:javascript
复制
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或更多次。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45862371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档