我想做的是使用 R 中的命令 chol() 测试矩阵是否是正定的。但是,如果 chol() 命令产生错误,我希望它输出 false 而不是产生错误,并且停止代码运行。是否有捷径可寻?我一直在摆弄 try() 命令,但它仍然给我一个错误。 例如,如果我有矩阵:
mat=matrix(c(1,2,3,1,2,3,5,5,5),nrow=3,ncol=3,byrow=F)
try(chol(mat))
这仍然会产生错误“chol.default(mat) 中的错误: 3 阶的前导小调不是正定的。”
我怎样才能让它产生 FALSE 而不是这个错误?
最佳答案
使用tryCatch
,并定义一个在发生错误时使用的处理程序:
tryCatch(chol(mat), error=function(e) FALSE)
关于r - 在 R 中输出 FALSE 而不是错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15263094/