我有一个包含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(),但我似乎无法弄清楚如何使用它。
答案 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')
})
})
}