#r #try-catch
Вопрос:
В настоящее время я написал инструкцию ifelse, чтобы получить правильный шаблон символов. Но я хочу знать, как я могу написать tryCatch для этого заявления? Потому что иногда getSymbols возвращает ошибку, если символ не имеет правильного расширения.
getSymbols(
ifelse(
substring(stocksList[i,1],1,1) == "^" | grepl(".BO", stocksList[i,1]),
stocksList[i,1] ,
paste0(stocksList[i,1], ".NS")
),
from = fromDate,
to = toDate,
periodicity = freqStr ,
return.class = 'zoo',
env = NULL
)
Комментарии:
1. Является
stocksList
ли data.фреймом?
Ответ №1:
Вы пробовали завернуть полный код внутрь tryCatch
?
tryCatch({
getSymbols(ifelse(
substring(stocksList[i,1],1,1) == "^" | grepl(".BO", stocksList[i,1]),
stocksList[i,1] ,
paste0(stocksList[i,1] , ".NS")
),
from = fromDate,
to = toDate,
periodicity = freqStr ,
return.class = 'zoo',
env = NULL)
},
error = function(e) message('Cannot download the data')
)
Комментарии:
1. Я хочу запустить другой фрагмент кода, если во время первого getsymbols возникнет ошибка
2. Не могли бы вы, пожалуйста, обновить свой пост, чтобы включить в него то, что вы хотите сделать? Я написал ответ на вопрос, который вы задали в своем главном посте.
3. Вы можете запустить фрагмент кода в
error
частиtryCatch
.