Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
众所周知,如果列维或行维为 1,R 会尝试将矩阵简化为向量。使用该drop=F命令可以防止这种自动删除维数。
drop=F
但是,我目前正在编写一个大型 R 包,并且需要在我的代码中禁用数百次降维,因此我必须手动找到这些位置并添加drop=F 数百次。
因此,我想知道是否有任何选项或可能性通常禁用 R 中矩阵的降维?
您可以通过重新定义[函数来做到这一点:
[
x <- matrix(1:4,2) `[` <- function(...) base::`[`(...,drop=FALSE) x[,1] [,1] [1,] 1 [2,] 2
但是,当您现在调用它时,您无法覆盖该drop参数,因此您可能希望谨慎使用它并在完成后删除它。
drop