r - 在 R 中输出 FALSE 而不是错误

标签 r error-handling matrix

我想做的是使用 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/

相关文章:

r - 在 R 中循环许多单边方差分析

r - Shiny 的动态仪表标题

r - 对 R 中的矩阵列表求和

sql-server - 通过 RODBC 连接到 SQL Server 数据库

c# - 如何对超过一定数量的命令参数进行错误检查

java - "main"java.util.InputMismatchException 处出现异常?

java - 错误:no class definition found error. javax/mail/part

R:将矩阵分割成任意数量的 block

来自矩阵的选定行的 R_List

r - 在许多线段上加速 st_buffer