所以我使用 r 并且我想编写一个取 n 值的代码,创建一个 n x n 矩阵,该矩阵具有交替的 1 和 0。
我似乎无法在没有收到错误或警告的情况下执行此操作,并且它不适用于所有整数 n,我们将不胜感激,谢谢。
答案 0 :(得分:2)
这个怎么样?
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
答案 1 :(得分: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