/ 行列を1列にサブセット化し、行列データ型を維持し、行/列名を維持するにはどうすればよいですか? - r、行列、サブセット、r-faq

行列を1つの列にサブセット化する方法、行列のデータ型を維持する方法、行/列の名前を維持する方法 - r、行列、サブセット、r-faq

行列を単一の列にサブセット化すると、resultは行列ではなく数値クラスです(つまり、5番目の列にサブセット化するためのmyMatrix [、5])。次のような複雑なことを行わずに、単一の列にサブセット化し、行列形式を維持し、行/列名を維持するための簡潔な方法はありますか。

matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )

回答:

回答№1の83

使用 drop=FALSE の議論 [.

m <- matrix(1:10,5,2)
rownames(m) <- 1:5
colnames(m) <- 1:2
m[,1]             # vector
m[,1,drop=FALSE]  # matrix