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