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