检查矩阵S的每一行是否包含的循环

时间:2017-03-17 10:56:06

标签: r for-loop matrix

我需要编写一个循环来检查矩阵S的每一行是否包含数字1,2,3,...,9中的每个 以下矩阵的输出应为单个TRUE:

S <- matrix(
    c(4,3,5,6,1,2,7,8,9,
    6,2,7,9,5,8,4,3,1,
    9,8,1,7,4,3,2,6,5,
    1,4,2,3,8,7,5,9,6,
    8,6,9,4,2,5,1,7,3,
    7,5,3,1,6,9,8,4,2,
    3,9,8,2,7,1,6,5,4,
    5,1,6,8,9,4,3,2,7,
    2,7,4,5,3,6,9,1,8), 
    9, 9, byrow = TRUE
)

我的代码现在看起来像是:

for (i in 1:9) {
    sudoku <- c(1:9 %in% S[i,]) 
    print (TRUE)
}

然而,像这样,我无法检查每个行中是否出现了每个数字。你有什么想法我可以继续解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

all(apply(S, 1, is.element, el=c(1:9)))