gpt4 book ai didi

r - 替代 drop=FALSE 或更改默认行为

转载 作者:行者123 更新时间:2023-12-04 18:10:13 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Generally disable dimension dropping for matrices?

(1 个回答)


8年前关闭。




R 中将 2 维矩阵减少到 1 行的默认行为是实际删除一个维度。这可以通过在矩阵搜索的末尾放置 drop=FALSE 来“修复”。
有没有办法让它成为默认值?我有一个很长的程序,刚刚意识到如果没有,我将不得不在大约 100 个地方添加它......
我搜索了 ?options、?'[' 和 ?matrix 无济于事。

最佳答案

您可以重新定义 `[`像这样:

old <- `[`
`[` <- function(...) { old(..., drop=FALSE) }

这种修改应该是交互式范围的本地修改,因此不会影响依赖于其他行为的例程。不过没有保证。并准备好这种形式的代码可能会使您的代码的读者感到困惑,他们已经习惯了其他语义。

也许您可以对特定函数进行本地更改,而不是对所有代码进行本地更改?

一种替代方法是为矩阵对象编写自己的类,您可以为其提供自己的子集运算符实现。如果您在非常有限的地方构造矩阵,这很有意义,但如果有大量代码路径构造这些矩阵,则可能会出现问题。

关于r - 替代 drop=FALSE 或更改默认行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15886974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com