R避免从矩阵到数字的强制

时间:2012-10-08 19:16:51

标签: r type-coercion

  

可能重复:
  1-dimensional Matrix is changed to a vector in R

我使用R中的matrix个对象,很多时候我只想选择矩阵的一列,并将其用作一列的matrix!是的,我的意思是我不希望R将其自动强制转换为numeric类,因为在这种情况下,含义是1列的矩阵。如何避免R在一般级别上一直进行这种愚蠢的转换。我不希望在任何地方使用as.matrix混乱我的代码!

1 个答案:

答案 0 :(得分:3)

使用drop=FALSE

> matrix(1:10, ncol=2)
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10
> matrix(1:10, ncol=2)[, 2]
[1]  6  7  8  9 10
> matrix(1:10, ncol=2)[, 2, drop=FALSE]
     [,1]
[1,]    6
[2,]    7
[3,]    8
[4,]    9
[5,]   10