【发布时间】:2012-12-13 03:17:39
【问题描述】:
我想在循环中跳过一个错误(如果有的话)并继续下一次迭代。我想计算 100 个 2 x 2 矩阵的逆矩阵,其中元素从 {0, 1, 2} 中随机采样。可以有一个奇异矩阵(例如,
1 0
2 0
这是我的代码
set.seed(1)
count <- 1
inverses <- vector(mode = "list", 100)
repeat {
x <- matrix(sample(0:2, 4, replace = T), 2, 2)
inverses[[count]] <- solve(x)
count <- count + 1
if (count > 100) break
}
在第三次迭代中,矩阵是奇异的,代码停止运行并显示错误消息。在实践中,我想绕过这个错误并继续下一个循环。我知道我需要使用try 或tryCatch 函数,但我不知道如何使用它们。这里也有人问过类似的问题,但它们都非常复杂,答案远远超出了我的理解。如果有人可以给我一个专门针对这个问题的完整代码,我真的很感激。
【问题讨论】:
标签: r error-handling try-catch