2017-04-07 70 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