0
我有一個大的數據集,X做有58140列操作的基質,填充以1或0創建從其他數據集
我想從58139列的信息創建58139 X 58139矩陣在數據集中。
對於矩陣中的每個Aij
我想找到包含值1爲i+1
柱和柱J+1
從X.
我想我能做到這一點通過sum(X[[2]]+X[[3]] == 2)
爲A12
元件共同的行數的矩陣。
剩下的唯一問題是一種方法,在矩陣碼。
我有一個大的數據集,X做有58140列操作的基質,填充以1或0創建從其他數據集
我想從58139列的信息創建58139 X 58139矩陣在數據集中。
對於矩陣中的每個Aij
我想找到包含值1爲i+1
柱和柱J+1
從X.
我想我能做到這一點通過sum(X[[2]]+X[[3]] == 2)
爲A12
元件共同的行數的矩陣。
剩下的唯一問題是一種方法,在矩陣碼。
您可以使用mapply
。這返回一個數字向量。然後,您可以將其包裝在matrix
的調用中,並忽略第一行和第列。
# sample data
set.seed(123)
X <- data.frame(matrix(rbinom(200, 1, .5), nrow=10))
#
A <- matrix(mapply(function(i, j) sum(rowSums(X[, c(i,j)])==2),
i=rep(1:ncol(X), ncol(X)),
j=rep(1:ncol(X), each=ncol(X))),
ncol=ncol(X))[-1, -1]
A