2013-11-22 3 views
0

В R У меня есть код, который запускает цикл над списком слов поиска, загружаемых с веб-сайта. Каждое слово для поиска затем сохраняются в виде файла CSV:Как продолжить цикл, несмотря на ошибку write.table?

...some code... 
x <- try(read.table(text=res, sep=",", col.names=c("Week", "TrendsCount"), skip=31, nrows=515)) 

for(i in 1:iterations){ 
...some code... 
filename <- paste(wordlist[i], "csv", sep = ".") 
write.table(x, file = filename, sep = ";", col.names = NA, qmethod = "double") 
} 

Иногда список будет содержать слово для поиска, который возвращает ошибку при выполнении кода, потому что слово не существует на сайте. Это останавливает цикл. Как я могу сделать цикл пропустить часть write.table и просто продолжить со следующим словом в списке?

+0

', если (х найден) написать table'? – rawr

ответ

2

просто положить write.table в

try(..., silent=T) 
+0

Работает как шарм! Большое спасибо andrei и @rawr :). Тем не менее, синтаксис, который я использовал, это 'try (...), silent = T)', поэтому для других, у кого может быть такая же проблема, помните дополнительные круглые скобки. – Sunv

+1

@Sunv Нет, 'try (...), silent = T)' является синтаксической ошибкой. Скобки должны совпадать. – Roland

+0

Да, мое плохое. Я имел в виду 'try ((...), silent = T)'. Спасибо @Roland – Sunv

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