首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据条件过滤id

问根据条件过滤id
EN

Stack Overflow用户
提问于 2019-01-14 19:39:39
回答 2查看 116关注 0票数 0

我有I为的数据集,例如19878、19659、19855、18658、18996、18002

我想要根据ID中的数字来过滤ID。例如,我想过滤ID在ID的第二位有9的数据,即19878、19659、19855等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-18 18:15:06

为此,我选择了小于或等于19000的ID来分隔ID,第二个位置是9。xam8=exam[exam,1<19000,]#exam9=exam of 8 exam9=exam[exam,1>19000,]# selection of 9

但是,如果需要从整个随机数据中提取特定的IDS,则此处提供的答案非常有用

票数 0
EN

Stack Overflow用户

发布于 2019-01-15 00:19:57

试试这个:

代码语言:javascript
复制
data <- c(19878, 19659, 19855, 18658, 18996, 18002)

使用substr()提取每个ID在"data“中的第二个位置:

代码语言:javascript
复制
substr(data,2,2)

[1] "9" "9" "9" "8" "8" "8"

使用grepl()找出在第二个位置包含9的ID:

代码语言:javascript
复制
grepl(9,substr(data,2,2))

[1]  TRUE  TRUE  TRUE FALSE FALSE FALSE

将您的结果与您的"data“对象交叉:

代码语言:javascript
复制
data[grepl(9,substr(data,2,2))]

[1] 19878 19659 19855

编辑: Faster solution by Gregor (删除grepl步骤):

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

https://stackoverflow.com/questions/54180817

复制
相关文章

相似问题

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