On Mon, 17 Jun 2019, Simon Urbanek wrote: > Matrix is just a vector with the dim attribute. Assuming it is not referenced > by anyone, you can set any values to the dim attribute. As for the vector, > you can use SET_LENGTH() to shorten it - but I'm not sure how official it is > - it was originally designed to work, but there were abuses of TRUELENGTH so > not sure where we stand now (shortened vectors used to fool the garbage > collector as far as object sizes go). I wouldn't do it unless you're dealing > with rally huge matrices.
Don't do that. SET_LENGTH isn't part of the API and using it outside specific internal code confuses the garbage collector. There is support for a growable vector but it's not a at a point where the interface is stable enough to be used in packages. So again please don't go there. Also for a matrix unless you are just dropping trailing columns you would have to move data in memory. Best, luke > > Cheers, > Simon > > >> On Jun 14, 2019, at 5:31 PM, Morgan Morgan <morgan.email...@gmail.com> wrote: >> >> Hi, >> >> Is there a way to resize a matrix defined as follows: >> >> SEXP a = PROTECT(allocMatrix(INTSXP, 10, 2)); >> int *pa = INTEGER(a) >> >> To row = 5 and col = 1 or do I have to allocate a second matrix "b" with >> pointer *pb and do a "for" loop to transfer the value of a to b? >> >> Thank you >> Best regards >> Morgan >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Luke Tierney Ralph E. Wareham Professor of Mathematical Sciences University of Iowa Phone: 319-335-3386 Department of Statistics and Fax: 319-335-3017 Actuarial Science 241 Schaeffer Hall email: luke-tier...@uiowa.edu Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel