首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grepl模式长度警告

grepl模式长度警告
EN

Stack Overflow用户
提问于 2018-04-09 00:10:42
回答 1查看 2.7K关注 0票数 0

在data.frame x中有两列名为"preferred_cat“和"var_nm”。我希望创建一个名为"preferred_tag“的第三列,其值为1或0。

1-如果preferred_cat(用于ex )是var_nm的子集(用于jdsajqq)或

0-如果preferred_cat(用于ex )不是var_nm的子集( ex )

代码语言:javascript
复制
x <- x %>% mutate(preferred_tag=ifelse(grepl(preferred_cat,var_nm,fixed=TRUE),1,0))

然而,我收到了这样的警告:

代码语言:javascript
复制
Warning message:
In grepl(preferred_cat, var_nm, fixed = TRUE) :
  argument 'pattern' has length > 1 and only the first element will be used

这一警告意味着什么,我如何避免它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-09 00:27:38

grepl不会使用字符串的向量。您可以使用来自map2purrr

首先创建一个新函数,如果有子字符串,则返回1,否则为0。

代码语言:javascript
复制
new_func <- function(x,y){
if(grepl(x,y,fixed=TRUE)){
  check <- 1
} else{
  check <- 0
}
check
}

现在,将此函数map2到每对字符串:

代码语言:javascript
复制
library(purrr)
x <- x %>% 
     mutate(preferred_tag=map2(referred_cat, var_nm, new_func))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49724035

复制
相关文章

相似问题

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