Вы можете инициализировать матрицу за один шаг, не используя al oop:
mat <- matrix(rnorm(500*10,0,1), 500, 10)
Затем, используя while l oop, замените значения ниже -0.5
в 10-м столбце на выборка нормального распределения, пока все они не станут больше или равны 0.5
:
while (sum(mat[, 10] < -0.5)) {
mat[mat[, 10] < -0.5, 10] <- rnorm(sum(mat[, 10] < -0.5), 0, 1)
}