完整的字符串匹配

时间:2017-11-27 08:52:00

标签: r

我有一个字符串向量,例如jk <- c("abc", "lkg", "mno", "ike") 和一个看起来像

的数据框df
names nos
 abc    1
 pqe    2
 mno    3

首先我使用names

as.character(df$names)列中的字符串转换为字符串

我想检查列中的字符串是否包含在向量jk中 所以,我写了一个函数如下

res <- function(p) {
   if(grep(p, jk, fixed=TRUE) > 0) {
            return(1)
    else {
            return(0)
    }
} 

所需的输出应如下

names nos res
 abc    1   1
 pqe    2   0
 mno    3   1

但是当我执行以下函数调用时

df$res <- lapply(df$names, FUN=res)

我收到以下错误

Error in if (grep(p, jk, fixed=TRUE) > 0) { : 
  argument is of length zero

当我执行以下函数调用时

df$res <- apply(df$names, M FUN=res)

我收到以下错误。

Error in apply(X = d$names, MARGIN = 1, FUN = res) : 
  dim(X) must have a positive length

如何获得所需的输出? 请帮忙!

0 个答案:

没有答案
相关问题