Hi: I was trying to use apply on a sparse matrix from package Matrix, and I get the error: Error in asMethod(object) : Cholmod error 'problem too large' at file ../Core/cholmod_dense.c, line 106 Is there a way to apply a function to all the rows without bumping into this problem? Here is a simplified example:
dim(sm)
[1] 72913 43052
class(sm)
[1] "dgCMatrix" attr(,"package") [1] "Matrix"
str(sm)
Formal class 'dgCMatrix' [package "Matrix"] with 6 slots ..@ i : int [1:6590004] 789 801 802 1231 1236 11739 17817 17943 18148 18676 ... ..@ p : int [1:43053] 0 147 303 450 596 751 908 1053 1188 1347 ... ..@ Dim : int [1:2] 72913 43052 ..@ Dimnames:List of 2 .. ..$ : NULL .. ..$ : NULL ..@ x : num [1:6590004] 0.601 0.527 0.562 0.641 0.684 ... ..@ factors : list()
my.sum<-apply(sm, 1, sum)
Error in asMethod(object) : Cholmod error 'problem too large' at file ../Core/cholmod_dense.c, line 106
sessionInfo()
R version 2.15.1 (2012-06-22) Platform: x86_64-unknown-linux-gnu (64-bit) locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=C LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] Matrix_1.0-6 lattice_0.20-6 stringr_0.6.1 loaded via a namespace (and not attached): [1] grid_2.15.1 plyr_1.7.1 Thanks. Jen