Возможно, вам нужна функция replicate
. Я сделаю только 10 повторов, чтобы не переполнить экран.
> sample(c("MU","MG","PU","PG"), 4,F)
[1] "MG" "MU" "PU" "PG"
> replicate(10, sample(c("MU","MG","PU","PG"), 4,F))
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "MG" "PG" "MU" "MU" "PU" "MG" "PU" "MG" "MG" "MU"
[2,] "PU" "MG" "PU" "PU" "MU" "MU" "MU" "PG" "MU" "PG"
[3,] "MU" "PU" "MG" "PG" "MG" "PG" "MG" "MU" "PG" "MG"
[4,] "PG" "MU" "PG" "MG" "PG" "PU" "PG" "PU" "PU" "PU"
> # Output is transposed from how we would want it so we'll just transpose it back
> t(replicate(10, sample(c("MU","MG","PU","PG"), 4,F)))
[,1] [,2] [,3] [,4]
[1,] "MG" "PU" "PG" "MU"
[2,] "PU" "MG" "MU" "PG"
[3,] "MG" "MU" "PU" "PG"
[4,] "PU" "PG" "MU" "MG"
[5,] "MG" "PU" "PG" "MU"
[6,] "PU" "PG" "MU" "MG"
[7,] "PG" "MG" "PU" "MU"
[8,] "MU" "PU" "MG" "PG"
[9,] "PG" "MU" "PU" "MG"
[10,] "MU" "MG" "PG" "PU"