2017-02-14 2 views
1

У меня есть список URL-адресов, которые направляются в разные XML-файлы, и я хочу извлечь из них некоторую информацию с помощью R и xml-пакета.синтаксический анализ xml из списка URL-адресов

Я пытаюсь сделать это с помощью петли for. У меня этот код, но он дает мне только последний xml (numtotal), как я могу их прочитать?

for (i in seq(from = 1, to = numtotal, by = 1)){ 
    urli <- xmlParse(urls[[i]], useInternalNodes = TRUE) 
    top_numberi <- xmlRoot(urli) 
    GS = data.frame(GS = xpathSApply(top_numberi,"//a//b",xmlValue)) 
} 

где:

  • urls список из 7 или более адресов
  • numtotal длина другого списка (числовое значение)
+1

Вместо этого используйте 'lapply', чтобы все было в списке. – alistaire

+1

Я не понимаю, что такое залог. Ошибка очевидна и на нее легко ответил небольшой код. Почти наверняка был дубликат, потому что неспособность индексировать присвоения внутри циклов является такой общей ошибкой. –

ответ

1

Каждая итерация вашего for цикла перезаписывает ваш фрейм данных GS. Вместо того чтобы использовать фрейм данных, создать список вне цикла

l = list() 

Затем заполнить элементы внутри цикла

l[i] = xpathSApply(top_numberi,"//a//b",xmlValue) 

Как и в сторону, это очень простой вопрос. Вы должны прочитать некоторые стандартные учебники R, прежде чем продолжить гораздо дальше.

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