【发布时间】:2021-02-17 10:17:34
【问题描述】:
所以我正在使用 r,并且我想编写一个取值为 n 的代码,创建一个 n x n 矩阵,该矩阵具有交替的 1 和 0。
如果没有收到错误或警告,我似乎无法执行此操作,并且它不适用于 n 的所有整数,任何帮助将不胜感激,谢谢。
【问题讨论】:
-
不是很推荐,但它有效:
suppressWarnings(matrix(1:0, n, n))
所以我正在使用 r,并且我想编写一个取值为 n 的代码,创建一个 n x n 矩阵,该矩阵具有交替的 1 和 0。
如果没有收到错误或警告,我似乎无法执行此操作,并且它不适用于 n 的所有整数,任何帮助将不胜感激,谢谢。
【问题讨论】:
suppressWarnings(matrix(1:0, n, n))
这个呢?
n <- 5L
matrix(seq(1:n^2) %% 2, nrow = n)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 1 0 1
[2,] 0 1 0 1 0
[3,] 1 0 1 0 1
[4,] 0 1 0 1 0
[5,] 1 0 1 0 1
【讨论】:
seq(n^2)。)支持你的,+1!
试试下面的代码
m <- matrix(rep_len(c(1, 0), n^2), n)
或
m <- replace(m <- diag(n), !((row(m) - col(m)) %% 2), 1)
给了
> m
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 1 0 1
[2,] 0 1 0 1 0
[3,] 1 0 1 0 1
[4,] 0 1 0 1 0
[5,] 1 0 1 0 1
【讨论】: