带有grep的if语句出错

时间:2015-05-06 17:06:16

标签: r

运行以下代码:

if(grep("sales", resume$jobs$title, ignore.case = TRUE, perl = FALSE, value = FALSE,
     fixed = FALSE, useBytes = FALSE, invert = FALSE)) {p2_feature = 1}
else if(grep("\\$[0-9]+",resume$jobs$text,ignore.case = TRUE, perl = FALSE, value = FALSE,
             fixed = FALSE, useBytes = FALSE, invert = FALSE)){p2_feature = 1}
else {p2_feature = 0}

收到错误:

  

if(grep(“sales”,简历$ jobs $ title,ignore.case = TRUE,perl)出错   = FALSE,:参数长度为零

1 个答案:

答案 0 :(得分:1)

您必须考虑grepl,而不是grepgrepl返回逻辑值向量。 grep只返回TRUE值的索引(如果没有则为长度为0)。只需将grep替换为grepl,您就可以了。