首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用grepl为数据帧创建函数

使用grepl为数据帧创建函数
EN

Stack Overflow用户
提问于 2018-08-09 02:37:37
回答 1查看 79关注 0票数 1

我有如下所示的数据:

代码语言:javascript
复制
A            B
1            unicorn in the field
2            dog house in the yard
3            frog in the lake
4            house in the city

如果b有单词"House“或"Dog House”,我正在尝试使用这些数据创建一个新的数据框。我试过了

代码语言:javascript
复制
dogdata<-which(df$B == grepl('house|dog house',df$B,ignore.case = TRUE)),A

所以我希望我的结果是

代码语言:javascript
复制
A             B
2             dog house in the yard
4             house in the city

但我一直收到错误。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-09 02:52:19

你的子集符号有点离谱,实际上你根本不需要which

代码语言:javascript
复制
df[grepl('house|dog house', df$B, ignore.case = TRUE),]

grepl返回一个TRUE/FALSE向量,我们可以用它来子集。

另外,为了反转您的选择(即选择不包含"house“或"dog house”的行),您必须使用!而不是-

代码语言:javascript
复制
df[!grepl('house|dog house', df$B, ignore.case = TRUE),]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51753558

复制
相关文章

相似问题

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