У меня есть квадратная матрица n x n
, где n
- полный квадрат. Я хотел бы вставить вертикальную линию в каждую позицию k^th
, где k
- это квадрат root из n
, и распечатать результат, используя R
.
Я могу добиться этого больше всего кстати, однако я получаю NULL
в конце каждой строки.
Вот мой код
# create test matrix
set.seed(1)
temp = matrix(sample(x=(11:99), size= 81), 9, 9)
# function to place “|” in every kth position of each row
custom_print = function(x){
s = as.integer(sqrt(nrow(x)))
for(r in 1:nrow(x)){
for(c in 1:s){
current.row = cat("|", x[r, (s*(c-1)+1):(c*s)], "")
}
print(current.row)
}
}
custom_print(temp)
Это приводит к следующему выводу:
> custom_print(temp)
| 34 15 37 | 99 53 85 | 13 50 62 NULL
| 43 27 92 | 64 16 12 | 14 58 32 NULL
| 60 24 75 | 31 71 97 | 66 17 18 NULL
| 89 63 25 | 39 70 41 | 57 22 67 NULL
| 28 40 54 | 45 51 38 | 52 74 33 NULL
| 86 68 19 | 69 42 29 | 23 83 90 NULL
| 96 47 95 | 21 91 98 | 81 79 80 NULL
| 65 87 35 | 56 36 93 | 46 55 20 NULL
| 61 82 11 | 84 72 76 | 94 26 44 NULL
Я не знаю причину, по которой я получаю NULL
в конце каждой строки, и я не знаю, как его удалить.
Кто-нибудь, пожалуйста, дайте мне знать, где я делаю ошибка пожалуйста?