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