Keep replies on list please. You are not accessing a value from vector Q if you access the zero'th element! R > Q <- c(3, 5, 8) R > Q[0] numeric(0) R > Q[1] [1] 3 R > Q[2] [1] 5
In the first iteration of the loop j is 2 thus j-2 is 0 and that's the reason for the error message: you are trying to replace a matrix element with a zero-length (i.e. unassigned) numeric value. Perhaps, in your mind, you are mixing up the index of a vector element and its value? If you need two zeros to start your vector, do something like R > Q <- c(0, 0, Q) R > Q [1] 0 0 3 5 8 Clear now? B. > On 2018-06-14, at 01:22, Maija Sirkjärvi <maija.sirkja...@gmail.com> wrote: > > Many thanks for your message! > > The thing is that I need Q[j-2] to be zero for the first two iterations > because I don't have those values (J starts from 1). Do you have any idea how > to do it? > > Thanks again! > > Maija > > 2018-06-13 15:52 GMT+03:00 Boris Steipe <boris.ste...@utoronto.ca>: > Q[j-2] gives you Q[0] in your first inner loop iteration. > R arrays start at one. > > B. > > > > On 2018-06-13, at 07:21, Maija Sirkjärvi <maija.sirkja...@gmail.com> wrote: > > > > Amat[J-1+j-2,j-1]= 1/(Q[j] - Q[j-1]) + 1/(Q[j-1] - Q[j-2]) > > ______________________________________________ R-help@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.