yes, you need to use the 'drop' argument; have a look at the help file ?"[" and then try this:

z <- matrix(rnorm(20), ncol = 5)
z[1, , drop = FALSE]
z[, 1, drop = FALSE]


I hope it helps.

Best,
Dimitris


Jim Nemesh wrote:
Is there any way to force a slice of a matrix to stay a matrix? R tends to convert a single row of a matrix into a vector.

Example:

z<-matrix (rnorm(20), ncol=5)
zz<-z[1,]
is.matrix(zz) #FALSE

I usually resort to:

zz<-matrix(z[1,], ncol=dim(z)[2], dimnames=list(rownames(z)[1], colnames(z)))

But that seems horribly kludgy.

Thanks!

-Jim

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to