¿Cómo subconjunto la matriz a una columna, mantener el tipo de datos de la matriz, mantener los nombres de fila / columna?

Cuando subconjunto una matriz a una sola columna, el resultado es de clase numérica, no de matriz (es decir, myMatrix [, 5] para subconjuntos de la quinta columna). ¿Existe una forma compacta de subconjunto a una sola columna, mantener el formato de matriz y mantener los nombres de fila / columna sin hacer algo complicado como:

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

Utilice el 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