我有一个字符串向量,例如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
如何获得所需的输出? 请帮忙!