Hi Steven,
It's not entirely clear what you actually want to achieve in the end.
As soon as you "know" x1, and assuming that the different
"xi" do not
differ in length in the real application, you know the length of the
target vector.
Instead of the loop, you can use 'Reduce' without having to initialize a
starting vector.
# generate sample vectors, put them in a list
xi<-lapply(1:5, \(x)sample(5))
# look at xi
xi
# sum over xi
Reduce("+",xi)
this works also for matrices
# generate sample matrices, put them in a list
Xi<-lapply(1:3, \(x)matrix(sample(16), nrow=4))
# look at them
Xi
# sum over Xi
Reduce("+",Xi)
Hope that helps
Eik
Am 28.02.2024 um 09:56 schrieb Steven Yen:> Is there as way to initialize a vector (matrix) with an unknown length
> (dimension)? NULL does not seem to work. The lines below work with a
> vector of length 4 and a matrix of 4 x 4. What if I do not know
> initially the length/dimension of the vector/matrix?
>
> All I want is to add up (accumulate)? the vector and matrix as I go
> through the loop.
>
> Or, are there other ways to accumulate such vectors and matrices?
>
> > x<-rep(0,4)? # this works but I like to leave the length open
> >? for (i in 1:3){
> +? x1<-1:4
> +? x<-x+x1
> + }
> > x
> [1]? 3? 6? 9 12
>
> > y = 0*matrix(1:16, nrow = 4, ncol = 4); # this works but I like to
> leave the dimension open
> ???? [,1] [,2] [,3] [,4]
> [1,]??? 0??? 0??? 0??? 0
> [2,]??? 0??? 0??? 0??? 0
> [3,]??? 0??? 0??? 0??? 0
> [4,]??? 0??? 0??? 0??? 0
> > for (i in 1:3){
> +?? y1<-matrix(17:32, nrow = 4, ncol = 4)
> +?? y<-y+y1
> + }
> > y
> ???? [,1] [,2] [,3] [,4]
> [1,]?? 51?? 63?? 75?? 87
> [2,]?? 54?? 66?? 78?? 90
> [3,]?? 57?? 69?? 81?? 93
> [4,]?? 60?? 72?? 84?? 96
> >
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
--
Eik Vettorazzi
Universit?tsklinikum Hamburg-Eppendorf
Institut f?r Medizinische Biometrie und Epidemiologie
Christoph-Probst-Weg 1
4. Obergeschoss, Raum 04.1.021.1
20246 Hamburg
Telefon: +49 (0) 40 7410 - 58243
Fax: +49 (0) 40 7410 - 57790
Web: www.uke.de/imbe
Webex: https://webteaching-uke.webex.com/meet/e.vettorazzi
--
_____________________________________________________________________
Universit?tsklinikum Hamburg-Eppendorf; K?rperschaft des ?ffentlichen Rechts;
Gerichtsstand: Hamburg | www.uke.de
Vorstandsmitglieder: Prof. Dr. Christian Gerloff (Vorsitzender), Joachim Pr?l?,
Prof. Dr. Blanche Schwappach-Pignataro, Matthias Waldmann (komm.)
_____________________________________________________________________
SAVE PAPER - THINK BEFORE PRINTING