[R] saving while loop values to one vector

Syed Abid Hussaini ohitsabid at yahoo.com
Mon Dec 24 19:08:39 CET 2007


Thanks Gabor!
   I never realized there could be a "diff" function. all i was trying to do was to calculate the
iterated differences in a vector. I feel so embarassed, but so happy for using R. 
by the way, i used 
"wave2 <- sort (wave2, decreasing=F)" to sort the values non-decreasingly because the code "i <-
findInterval((wave2[1]), wave2)" doesnt work without this sorting. 
But all that is past now since i found the diff function. 

Thanks again.

abid

> > From: "Gabor Grothendieck" <ggrothendieck at gmail.com>
> CC: R-help at stat.math.ethz.ch
> To: "Syed Abid Hussaini" <ohitsabid at yahoo.com>
> Date: Mon, 24 Dec 2007 02:30:57 -0500
> Subject: Re: [R] saving while loop values to one vector
> 
> Its not clear what your code is intended to do but
> 
> - put set.seed(123) before your code so you can
> run it reproducibly.
> 
> - wave2 <- sort(abs(rnorm(100))) is the same as your first
> two lines
> 
> - your findInterval line always returns 1 so its probably not what you want
> 
> - i in i:x is confusing. Use j in i:x or even better use diff(wave2).
> 
> On Dec 24, 2007 1:54 AM, Syed Abid Hussaini <ohitsabid at yahoo.com> wrote:
> > I solved it myself by reading the help files which i should have done prior to my posting.
> >
> > Solution:
> >
> > wave2 <- abs(Re(rnorm(100)))
> > wave2 <- sort (wave2, decreasing=F)
> > hist(wave2)
> > x <- length (wave2)
> > i <- findInterval((wave2[1]), wave2)
> > i <- i+1
> > out <- numeric(x)
> > for (i in i:x)  {
> > out[i] <- (wave2 [i] - wave2[i-1])
> > }
> > out
> >
> > As you see i trimmed the code and alloted a new variable called out which i later save my
> values
> > to.
> >
> >
> >
> > --- Syed Abid Hussaini <ohitsabid at yahoo.com> wrote:
> >
> > > Hi all,
> > >   I am pretty new to R and even new to programming in general. Right now i get only one
> value
> > > for
> > > j below (print(j)), how do i save all j values to one vector or matrix? Sorry for this very
> > > basic
> > > question. thanks in advance.
> > >
> > > wave2 <- abs(Re(rnorm(100)))
> > > i <- findInterval((wave2[1]), wave2)
> > > i <- i+1
> > >
> > > while (i < length(wave2))  {
> > > j <- (wave2 [i] - wave2[i-1])
> > > print(j)
> > > i<-i+1
> > > }
> > >
> > > abid
> > >
> > >
> > >



      ____________________________________________________________________________________
Looking for last minute shopping deals?



More information about the R-help mailing list