Генерирующие матрицы со специальным ограничением в R

#r #matrix

#r #матрица

Вопрос:

Я хотел бы создать две случайно сгенерированные матрицы, сумма элементов строки первой матрицы равна сумме элементов столбца второй матрицы в R. Я знаю, как создать случайно сгенерированную матрицу, например:

      > A=matrix(rnorm(n=9, 0, 1), nrow=3, ncol=3)
     > B=matrix(rnorm(n=9, 1, 5), nrow=3, ncol=3)
  

но как я могу наложить это ограничение, когда я генерирую эти две матрицы?

Комментарии:

1. Вы можете создавать случайные числа и распределять их по своим матрицам, по крайней мере, в случайном порядке с sample помощью .

Ответ №1:

Будет ли что-то подобное для вас:

 size <- 10
matrix_1 <- matrix(nrow = size, ncol = size)
matrix_2 <- matrix(nrow = size, ncol = size)

for (i in seq_len(size)){
  vector <- rnorm(n=size, 1, 5)
  matrix_1[i,] <- vector
  matrix_2[,i] <- sample(vector, size)

}
  

Единственная проблема заключается в том, что вторая матрица не является полностью случайной, это случайная выборка первой матрицы.