在R中使用tryCatch()在循环中指定错误值

在R中使用tryCatch()在循环中指定错误值,r,try-catch,R,Try Catch,我正在努力学习R中tryCatch()的说明。我正在努力捕捉股票行情的收盘价 案例2=良好案例=股票经纪人7月2日=股票经纪人之间的唯一价格关系 案例1=坏案例=股票7月1日=FABU收盘价重复CETX 案例1 FABU的期望输出为0 library(TTR) close.price1=NULL TickersJuly1 <- c('DIT','CETX','FABU') TickersJuly2<- c('AAPL','A','AA') for(i in TickersJuly1

我正在努力学习R中tryCatch()的说明。我正在努力捕捉股票行情的收盘价

案例2=良好案例=股票经纪人7月2日=股票经纪人之间的唯一价格关系

案例1=坏案例=股票7月1日=FABU收盘价重复CETX

案例1 FABU的期望输出为0

library(TTR)
close.price1=NULL
TickersJuly1 <- c('DIT','CETX','FABU')
TickersJuly2<- c('AAPL','A','AA')

for(i in TickersJuly1){
           tryCatch(close <- getYahooData(i,20150727,20150727,'daily',"price"),
               error = function(e) close$Close <- 0,
               warning = function(w) close$Close <- 0,
               finally = function(f) close$Close <- 0)
      close.price <- c(as.character(close$Close),i)
      close.price1 <- rbind(close.price1,close.price)
}
库(TTR)
close.price1=NULL

股票7月1日我认为这是可行的。您应该将
tryCatch
的结果分配给一个变量

for(i in TickersJuly1){
    close <- tryCatch(
        getYahooData(i,20150727,20150727,'daily',"price"),
        error = function(e) list(Close=0),
        warning = function(w) list(Close=0),
        finally = function(f) list(Close=0))
    close.price <- c(as.character(close$Close),i)
    close.price1 <- rbind(close.price1,close.price)
}
for(i在TickersJuly1中){

关闭for循环在tryCatch分配close后停止。当我运行它时,我得到“[,1][,2]close.price”83.540001“DIT”close.price“0”FABU“close.price”2.91“CETX”`