/ / Jak dokonać podziału macierzy na jedną kolumnę, zachować typ danych macierzy, zachować nazwy wierszy / kolumn? - r, macierz, podzbiór, r-faq

W jaki sposób dokonać podziału macierzy na jedną kolumnę, zachować typ danych macierzy, zachować nazwy wierszy / kolumn? - r, macierz, podzbiór, r-faq

Kiedy podzestawę macierzy do pojedynczej kolumny,wynikiem jest numeryczna klasa, a nie macierz (tj. myMatrix [, 5] do podzbioru do piątej kolumny). Czy istnieje kompaktowy sposób podziału na pojedynczą kolumnę, zachowanie formatu matrycy i zachowanie nazw wierszy / kolumn bez wykonywania skomplikowanych czynności, takich jak:

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

Odpowiedzi:

83 za odpowiedź № 1

Użyj drop=FALSE argument do [.

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