2017-04-07 85 views
2

的矢量我有以下数据框:的grep在ifelse的值

data <- data.frame(MOBILE_NUMBER = c(
      "999/277-135",   
      "075-788-476",   
      "078-388-607",   
      "077/969-557",   
      "076/423-130")) 

我想创建一个布尔变量,如果在字符串匹配在下面的矢量值的一个前7个字符:

list_values <- c("071", "072", "073", "074", "075", "076", "077", "078", "079") 

我可以拉动值与下面的grep代码:

grep(paste(list_values,collapse="|"), 
        data$MOBILE_NUMBER, value=TRUE)) 

,但我不知道如何为p在ifelse语句中使用这种方法,尤其是如何仅在字符串的前7个元素上进行文本编辑。

有人吗?

回答

1

我们可以通过as.integer

as.integer(grepl(paste(list_values,collapse="|"), substr(data[[1]], 1, 7))) 
+1

感谢akrun使用substr拿到1日7个chararacters的字符串,就可以应用grepl并将其转换为二进制文件(如果需要的话)!像这样很好地工作。 – Prometheus