2012-01-25 38 views
6

宣佈1 6矩陣A說:我如何索引R矩陣沒有它恢復到矢量

A <- matrix(1:6, nrow=1) 

我那麼就暗淡(A)和我預期6送1 ......但那麼我做A [,2:5],我期望這是一個1維4的矩陣,條目2,3,4,5 ...但暗淡(A [,2:5])給我空值!它降級成矢量或其他東西。我怎樣才能避免這種情況?

我最終試圖做一些事情,如:

A[,a:b] %*% X[a:b,a:b] %*% t(A[,a:b]) 

改變A和B,所以我可以乘以上述矩陣只有部分together..but這打破當A衰變爲載體...

由於

回答

9

使用,drop=FALSE作爲附加(尾隨)參數涉及]

實施例:

R> M <- matrix(1:4,2,2) 
R> M[,2]     ## looses matrix class 
[1] 3 4 
R> M[,2,drop=FALSE]  ## forced to a n x 1 matrix 
    [,1] 
[1,] 3 
[2,] 4 
R> 

這很可能是主FAQ,但出於兼容性原因的行爲是不可能改變。

+0

感謝這似乎是伎倆! –

+3

很高興聽到這個消息。在這種情況下,在這裏常見的是通過點擊刻度標記來「接受」最好的答案,只有你作爲問題的原始海報可以做到這一點。 –

+2

'The R Inferno'的圈子8.1.44 http://www.burns-stat.com/pages/Tutor/R_inferno.pdf –