Como subconjunto da matriz para uma coluna, manter o tipo de dados da matriz, manter os nomes das linhas / colunas?

Quando eu subconjunto uma matriz para uma única coluna, o resultado é de class numérica, não matriz (ou seja, myMatrix [, 5] para subconjunto à quinta coluna). Existe uma maneira compacta de se agrupar em uma única coluna, manter o formato da matriz e manter os nomes de linha / coluna sem fazer algo complicado como:

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

Use o argumento drop=FALSE para [ .

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