quandl から株式データをダウンロードしていますが、trycatch を使用して、データをダウンロードできない株式をキャッチしました。約 800 株のうち 9 株でエラーが発生していますが、try catch が無限ループに陥っており、他の株の csv ファイルを書き込んでいません。コマンドでデータの再ダウンロードを試行したくありません。ループから抜け出すにはどうすればよいですか?
コードは次のとおりです。
定数宣言
date_Start<-Sys.Date()-1
date_End<-Sys.Date()
#loop for downloading todays's data
stocksData<-lapply(stockName,function(x,start_date,end_date){
startDate<-date_Start
endDate<-date_End
path<- path_Data
from.dat <- as.Date(startDate, format="%m/%d/%y")
to.dat <- as.Date(endDate, format="%m/%d/%y")
stockNameNew <- gsub("[/]","_",x)
#to remove the "." from stocknames and replace it by "_"
for(i in stockName){
downloadData <-tryCatch(Quandl(i,type = "xts",start_date = from.dat,end_date = to.dat),error=identity)
if(inherits(downloadData, "error"))
cat("Symbol '", i, "' not downloadable!\n", sep = "")
}
#downloads data from quandl
stockData <- as.data.frame(downloadData)
write.csv(stockData,fileName)
#csv file is created
})
出力は次のとおりです。
シンボル「NSE/GSPL」はダウンロードできません! シンボル「NSE/INDHOTEL」はダウンロードできません! シンボル「NSE/KOTAKGOLD」はダウンロードできません! シンボル「NSE/GSPL」はダウンロードできません! シンボル「NSE/INDHOTEL」はダウンロードできません! シンボル「NSE/KOTAKGOLD」はダウンロードできません!
repeated continuously...