2
我生成一個事務列表,其包括用戶ID,項目ID和用戶 - 項目對如何經常occures計數:配售從事務列表中的值到一個稀疏矩陣與一個for循環
UserID ItemID N
X S123 4
X S134 3
X S135 10
Y S564 1
Y S432 2
Z S189 3
缺貨的列表我想創建一個稀疏矩陣,其中行代表用戶ID和列表示ItemID,並且單元格是相應的計數,或者如果該對從未出現過0. 0.
我寫了一個for循環,永遠,行數> 100.000,列數> 2000:
for(i in 1:nrow(mat)){
for(j in 1:ncol(mat)){
r <- rownames(mat)[i]
c <- colnames(mat)[j]
mat[i,j] <- ifelse(length(trans[(trans$UserID == r) & (trans$ItemID == c), "N"]) > 0, trans[(trans$UserID == r) & (trans$ItemID == c), "N"], 0)
}
}
那麼,有沒有更快的方法?