众所周知,如果矩阵的列维或行维为1,则R试图将矩阵降为向量,使用drop=F
命令可以防止这种自动降维。
但是,我目前正在编写一个大型的R包,需要在代码中禁用数百次降维,以便手动查找这些位置并添加数百次drop=F
。
因此,我想知道是否有任何选项或可能性一般禁用降维矩阵中的R?
发布于 2012-08-30 13:50:28
您可以通过重新定义[
函数来做到这一点:
x <- matrix(1:4,2)
`[` <- function(...) base::`[`(...,drop=FALSE)
x[,1]
[,1]
[1,] 1
[2,] 2
但是,现在调用drop
参数时不能覆盖它,因此您可能想要谨慎使用它,并在完成时删除它。
https://stackoverflow.com/questions/12196724
复制相似问题