我看到了其他一些关于根据索引的向量或元组获取矩阵值的问题,但是没有关于更新这些值的问题。我想要这样:
mat <- matrix(1:9, nrow = 3)
rownames(mat) <- c("a","b","c")
colnames(mat) <- c("d","e","f")
rVec <- c("a","a","b")
cVec <- c("d","e","d")
nVec <- c(12, 13, 14)
mat <- func(mat, rVec, cVec, nVec)
要使它们为真:
mat["a", "d"] == 12
mat["a", "e"] == 13
mat["b", "d"] == 14
在我看来,您应该只可以使用mat[rVec, cVec] <- nVec
,就像numpy(python)这样的默认功能一样。
我不必使用行名和列名,但是比仅使用行号和列号的索引更受欢迎。我已经研究了sparseMatrix,因为这似乎很接近我需要的东西,但是我什么也没找到。我尝试使用mapply,但它无法正确更新变量。我尝试使用Vectorize,但发现需要使用正在创建的程序包中破坏的全局变量。