R中的跳过错误和继续功能

时间:2015-02-19 04:41:36

标签: r for-loop try-catch histogram

我有一个包含p个变量的数据集。我想要一个创建每个变量直方图的函数,当遇到问题时,它会尝试创建一个条形图。如果在尝试条形图后遇到问题,它会跳过该p,并继续下一个p。

我在想什么(伪代码):

for (i in ncol(data)) {
    try( hist(data[i])) {
        if "error" try( barplot(data[i])) {
            if "error" print ("Error") }
        }
    continue to i # code executes through all columns of data
    }
}

我已尝试使用基于其他stackoverflow帖子的try()和tryCatch(),但我似乎无法弄清楚如何使用它。

1 个答案:

答案 0 :(得分:3)

您可能希望使用tryCatch。像下面这样的东西应该做的伎俩(虽然我不能测试它,因为你没有提供任何数据)。

for(i in 1:ncol(d)) {
  tryCatch(hist(d[[i]], main=i), error=function(e) {
    tryCatch(barplot(d[[i]], main=i), error=function(e) {
      print('Error')
    })
  })  
}