众所周知,如果列的行或行维度为1,则R会尝试将矩阵减少为向量.可以通过使用该drop=F命令来防止维度的自动删除.
但是,我目前正在编写一个大型R包,并且需要在我的代码中禁用几百次的维度丢弃,因此我必须手动查找这些位置并添加drop=F 数百次.
因此,我想知道是否有任何选项或可能通常禁用R中矩阵的维数下降?
Jam*_*mes 27
你可以通过重新定义[函数来做到这一点:
x <- matrix(1:4,2)
`[` <- function(...) base::`[`(...,drop=FALSE)
x[,1]
[,1]
[1,] 1
[2,] 2
Run Code Online (Sandbox Code Playgroud)
drop现在调用时无法覆盖参数,因此您可能希望谨慎使用它并在完成后删除.
| 归档时间: |
|
| 查看次数: |
1426 次 |
| 最近记录: |