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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With