# 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.