Generally disable dimension dropping for matrices?
As we all know, R tries to reduce matrices to vectors if its column- or row-dimension is 1. This automatic dropping of dimensions can be prevented by use of the drop=F command.
However, I am currently writing a large R package and would require to disable dimension dropping on several hundred occasions in my code, so that I would have to manually find these locations and add drop=F many hundred times.
Therefore, I would like to know if there's any option or possibility to generally disable dimension dropping for matrices in R?
Answers
You can do it by redefining the [ function:
x <- matrix(1:4,2) `[` <- function(...) base::`[`(...,drop=FALSE) x[,1] [,1] [1,] 1 [2,] 2
You cannot override the drop argument when you call it now though, so you might want to use it sparingly and delete when done.