【发布时间】:2016-06-02 08:12:13
【问题描述】:
我尝试从包含矩阵 M 中必须等于 1 的索引的列表 pList 中创建一个邻接矩阵 M。 例如,M 是一个 10x5 矩阵 变量 pList 包含 5 个元素,每个元素都是一个索引向量
例子:
s <- list("1210", c("254", "534"), "254", "534", "364")
M <- matrix(c(rep(0)),nrow = 5, ncol = length(unique(unlist(s))), dimnames=list(1:5,unique(unlist(s))))
实际上,我过于简单的解决方案是在矩阵行上使用 for 循环的残酷解决方案:
for (i in 1:nrow(M)){
M[i, as.character(s[[i]])] <- 1
}
所以预期的结果是:
M
1210 254 534 364
1 1 0 0 0
2 0 1 1 0
3 0 1 0 0
4 0 0 1 0
5 0 0 0 1
问题是我必须处理包含数千行的矩阵,并且需要太多时间。 我不是“申请”专家,但我想知道是否有更快的解决方案
谢谢
问候
【问题讨论】: