2015-03-18 3 views
0

У меня проблема с моим кодом. Это работает для других значений, когда значения ID все в матрице тегов, однако, если есть значение идентификатора, что это не в матрице тегов я получаю ошибку:Использование функции Grep для цикла

Error in IDintag[i] <- grep(ID[i], tag) : replacement has length zero 

Заранее спасибо

tag=NULL 
ID=NULL 

url <- readLines("http://www.afip.gob.ar/contacto") 
tag <- as.matrix(grep("</strong>",url)) 
ID <- grep("correo",url) 

for(i in 1:length(ID)) 
    {IDintag[i] <- grep(ID[i],tag) 
    } 
+0

Что именно вы пытаетесь получить в результате? Вероятно, вы можете использовать пакет XML для этого –

+0

@RichardScriven. Я пытаюсь получить номер в матрице тегов, где встречается номер строки. –

+0

Вы ищете 'which (tag% in% ID)'? Пожалуйста, добавьте желаемый результат в свой пост. Пока не ясно, что вы пытаетесь сделать –

ответ

1

Нет необходимости в цикле, вы можете использовать %in% с which()

url <- readLines("http://www.afip.gob.ar/contacto") 
tag <- as.matrix(grep("</strong>",url)) 
ID <- grep("correo", url) 

matrix(which(tag %in% ID)) 
#  [,1] 
# [1,] 3 
# [2,] 4 
# [3,] 5 
+0

Спасибо, отлично работает –

Смежные вопросы