2
经过几个小时的搜索后,我转向了您的专业知识。 R的初学者,我尝试加快我的代码。我的目标是替换矩阵A
中的值。但是,我想根据另一个矩阵B
的两个向量来替换值。 B[, 1]
是矩阵A
的行i
的名称。第二列B[, 2]
对应于矩阵A
的列的名称。替换由另一个矩阵索引的矩阵元素
我的代码的第一个版本是在循环中使用匹配功能。
for(k in 1:L){
i <- B[k,1]
j <- B[k,2]
d <- match(i,rownames(A))
e <- match(j,colnames(A))
A[d, e] <- 0
}
第二个版本让我加快一点点:
for(k in 1:L) {
A[match(B[k,1],rownames(A)), match(B[k,2],colnames(A))] <- 0
}
然而,处理时间长,太长。所以我想用apply
函数。为此,我必须在B
的每个行向量中使用apply
。
是使用apply
函数的一个好方法吗?或者我走错了路?