1行では、次の2つのライン
myMat <- outer(x, x, "==")
myMat[] <- as.integer(myMat)
彼らは同じだということを確認して
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 0 0 0 0 0 1 0 0 0
[2,] 0 1 1 1 0 1 0 0 1 0
[3,] 0 1 1 1 0 1 0 0 1 0
[4,] 0 1 1 1 0 1 0 0 1 0
[5,] 0 0 0 0 1 0 0 0 0 0
[6,] 0 1 1 1 0 1 0 0 1 0
[7,] 1 0 0 0 0 0 1 0 0 0
[8,] 0 0 0 0 0 0 0 1 0 0
[9,] 0 1 1 1 0 1 0 0 1 0
[10,] 0 0 0 0 0 0 0 0 0 1
かを、返す
outer(x, x, function(x, y) as.integer(x==y))
行うことができます。
identical(myMat, outer(x, x, function(x, y) as.integer(x==y)))
[1] TRUE
データ
set.seed(1234)
x <- sample(5, 10, replace = TRUE)
出典
2017-07-25 19:36:10
lmo
多分も 'sapply(seq_along(x)は、関数(I)sapply(seq_along(x)は、関数(J)as.integer(X [I] = = x [j]))) ' –