首页 > 解决方案 > 尝试语句问题 R

问题描述

这个简单的try()陈述有问题。我想做的就是如果数字不存在或出现错误,请移至下一个。R 新手,我在某些文件夹中有一些信息,但在范围之间缺少一些数字。

library(readr)

season <- c(2014:2014)
gamenumbers <- c(20300:21271)
#############################################
# TEAM NULL DF's
season_teamstatsadj5v5 <- NULL


print('NUll DFs Created')
##############################################
for(game in gamenumbers){
  try(
    print('Start Team')
    print(as.character(game)) 
    ###################################################################################################################
    # team_stats_adj_5v5_df Bind
    teamstatsadj5v5<-paste0('//LVS_DB/Users/Mike/Desktop/NHL_PBP/', season,'/', game, '/', game, '_teamstatsadj5v5.csv')
    teamstatsadj5v5_df <- read_delim(teamstatsadj5v5, delim = ',')
    season_teamstatsadj5v5 <- rbind(season_teamstatsadj5v5, teamstatsadj5v5_df)
  )
}

标签: r

解决方案


请查看您共享的更正代码。error将处理抛出的异常的参数应在tryCatch调用中指示。请看下图:

library(readr)

season <- c(2014:2014)
gamenumbers <- c(20300:21271)
#############################################
# TEAM NULL DF's
season_teamstatsadj5v5 <- NULL


print('NUll DFs Created')
##############################################
for(game in gamenumbers){
  tryCatch({
    print('Start Team')
    print(as.character(game)) 
    ###################################################################################################################
    # team_stats_adj_5v5_df Bind
    teamstatsadj5v5<-paste0('//LVS_DB/Users/Mike/Desktop/NHL_PBP/', season,'/', game, '/', game, '_teamstatsadj5v5.csv')
    teamstatsadj5v5_df <- read_delim(teamstatsadj5v5, delim = ',')
    season_teamstatsadj5v5 <- rbind(season_teamstatsadj5v5, teamstatsadj5v5_df)
  }, error = function(e) {message(paste0(e, "\n"))})
}

推荐阅读