/ / Ako podmnožiť maticu do jedného stĺpca, zachovať typ dát matice, udržiavať názvy riadkov / stĺpcov? - r, matica, podmnožina, r-faq

Ako podmnožiť maticu do jedného stĺpca, zachovať typ dát matice, udržiavať názvy riadkov / stĺpcov? - r, matica, podmnožina, r-faq

Keď podsúbor maticu na jeden stĺpec,výsledok je číselnej triedy, nie matrice (t. j. myMatrix [, 5] na podsúbor do piateho stĺpca). Existuje kompaktný spôsob, ako podmnožiť jediný stĺpec, udržiavať formát matrice a udržiavať názvy riadkov / stĺpov bez toho, aby ste robili niečo komplikované, ako je:

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

odpovede:

83 pre odpoveď č. 1

Použi drop=FALSE argument pre [.

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