Я хочу пропустить ошибку (если она есть) в цикле и продолжить следующую итерацию. Я хочу вычислить 100 обратных матриц матрицы 2 на 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
, но я не знаю, как их использовать. Здесь были заданы аналогичные вопросы, но все они очень сложны, и ответы далеки от моего понимания. Если кто-то может дать мне полный код специально для этого вопроса, я действительно ценю его.