私は 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 であり、順次実行するには数時間かかります。
ありがとう
スチュアート