可以尝试使用分块处理数据的方式,将大的矩阵分成若干个小矩阵,分块处理后合并结果。以下是示例代码:
n <- 10000 m <- 10000 documents <- matrix(rnorm(n * m), n, m)
block_size <- 1000 num_blocks <- n %/% block_size remain_size <- n %% block_size
rowSums <- numeric(num_blocks) for (i in 1:num_blocks) { row_start <- (i - 1) * block_size + 1 row_end <- i * block_size rowSums[i] <- sum(documents[row_start:row_end, ]) }
if (remain_size > 0) { rowSums[num_blocks + 1] <- sum(documents[(n - remain_size + 1):n, ]) }
rowSum <- sum(rowSums)