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
drop=F
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.
drop