首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只在第一个元素上为满足模式的字符向量中的条目赋值(R)

只在第一个元素上为满足模式的字符向量中的条目赋值(R)
EN

Stack Overflow用户
提问于 2014-11-23 00:04:49
回答 1查看 50关注 0票数 0

假设我们有字符向量

代码语言:javascript
运行
复制
x <- as.character(c("101H","208H","335","467","521C","689J","704","800"))

"500“以上的项目(最后四个条目)将标记为TRUE。如果我们可以将向量转换为数字并执行ifelse(),那么就足够简单了,但是由于嵌入的字母,NaNs将被引入。

相反,我想使用library(stringr)告诉R识别一个模式,并将TRUE分配给满足该模式的元素。但是,就像

代码语言:javascript
运行
复制
grepl("[5-9]",x)

不能正常工作,因为R只是查找模式的任何出现,而不管模式在条目中的位置。

我如何告诉R只查看每个条目的第一个元素?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-23 00:09:32

grepl("[5-9]",x)告诉您哪些元素包含5、6、7、8或9。gsub更合适。若要在检查前删除所有字母,只要字符串中只有字母和数字,请尝试

代码语言:javascript
运行
复制
as.numeric(gsub("\\D", "", x)) > 500
# [1] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE

关于最后一行,您可以告诉R只查看每个字符串的第一个字符

代码语言:javascript
运行
复制
substr(x, 1, 1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27084011

复制
相关文章

相似问题

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