Hi, Wouldn't that make sense to have rowSums()/colSums() to preserve the storage mode? m <- matrix(1:15, nrow=5) > storage.mode(m) [1] "integer" > storage.mode(sum(m)) [1] "integer" > storage.mode(rowSums(m)) [1] "double" <------------------- surprising! Cheers, H.