Создать матрицу с циклом for - PullRequest
0 голосов
/ 19 октября 2018

У меня вопрос:

Создайте следующую матрицу, используя цикл for для записей.

structure(c(3, 2, 2, 2, 2, 1, 3, 0, 0, 0, 1, 0, 3, 0, 0, 1, 0, 
            0, 3, 0, 1, 0, 0, 0, 3), .Dim = c(5L, 5L))
#      [,1] [,2] [,3] [,4] [,5]
# [1,]    3    1    1    1    1
# [2,]    2    3    0    0    0
# [3,]    2    0    3    0    0
# [4,]    2    0    0    3    0
# [5,]    2    0    0    0    3

Пока мой код:

z<-matrix(NA,ncol=5,nrow=5)
q<-1:5

 for(n in 1:nrow(z)){
  z[n,] = q
  }
print(z)

У меня проблемы с формированием матрицы.Какие-либо предложения?

1 Ответ

0 голосов
/ 19 октября 2018

Это решение использует вложенный цикл for и оператор if-else.

z <- matrix(NA, ncol = 5, nrow = 5)

for (i in 1:nrow(z)){
  for (j in 1:nrow(z)){
    if (i == j){
      z[i, j ] <- 3
    } else if (i == 1){
      z[i, j ] <- 1
    } else if (j == 1){
      z[i, j ] <- 2
    } else {
      z[i, j ] <- 0
    }
  }
}

print(z)
#      [,1] [,2] [,3] [,4] [,5]
# [1,]    3    1    1    1    1
# [2,]    2    3    0    0    0
# [3,]    2    0    3    0    0
# [4,]    2    0    0    3    0
# [5,]    2    0    0    0    3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...