我在 R 中填充了一个稀疏矩阵,并在 for 循环中编写了更新,但希望获得一些指针以使其更快。这是一些示例代码:
library(Matrix)
rowId <- rep(c(101:105), 2)
colId <- rep(c("A", "B"), 5)
count <- 1:10
data <- data.frame(as.character(rowId), colId, count)
names(data) <- c("rowId", "colId", "count")
sparse <- Matrix(nrow = 5, ncol=2, byrow=TRUE,
dimnames = list(unique(rowId), unique(colId)))
for (i in 1:nrow(data)) {
sparse[data$rowId[i], data$colId[i]] <- data$count[i]
}
有没有更好的方法来更新稀疏矩阵?在我的现实世界问题中,数据有大约 100 万个观察值,稀疏为 25000x38242,并且按顺序运行需要几个小时。
谢谢
斯图尔特