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.
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