Iがゼロに初期化対称スパース行列を有するのマトリックスによって、スパース行列を移入します別のマトリックス(val.mat
)によって与えられた値で満たされる必要があります:idx.mat
とに応じmat
移入するより高速な方法があるかどうはインデックス
idx.mat <- do.call(rbind,lapply(1:5,function(i) sample(1:5,3,replace=F)))
val.mat <- matrix(runif(15,1,10),5,3)
は、だから私は思ったんだけどより0:
idx = cbind(rep(1:nrow(idx.mat), ncol(idx.mat)), c(idx.mat))
そして索引にその行列を使用することができるだけ割り当てる:
mat <- do.call(rbind,lapply(1:nrow(mat),function(i) {
mat[i,idx.mat[i,]] <- val.mat[i,]
return(mat[i,])
}))