2014-12-04 86 views
0

我有一個大的數據集,X做有58140列操作的基質,填充以1或0創建從其他數據集

我想從58139列的信息創建58139 X 58139矩陣在數據集中。

對於矩陣中的每個Aij我想找到包含值1爲i+1柱和柱J+1從X.

我想我能做到這一點通過sum(X[[2]]+X[[3]] == 2)A12元件共同的行數的矩陣。

剩下的唯一問題是一種方法,在矩陣碼。

回答

0

您可以使用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