我想在循环中跳过一个错误(如果有的话)并继续下一次迭代。我想计算 2×2 矩阵的 100 个逆矩阵,其中元素从 {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
}
在第三次迭代中,矩阵是奇异的,代码停止运行并显示错误消息。在实践中,我想绕过这个错误并继续下一个循环。我知道我需要使用 a try
ortryCatch
函数,但我不知道如何使用它们。这里也有人问过类似的问题,但它们都非常复杂,答案远远超出了我的理解。如果有人可以专门针对这个问题给我一个完整的代码,我真的很感激。