On Dec 24, 2007 1:08 PM, Syed Abid Hussaini <[EMAIL PROTECTED]> wrote: > 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 <-
That is the default for sort. Its not necessary to specify defaults. Also its better practice to write out F as FALSE since F can be a variable in R but FALSE cannot be. > 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" <[EMAIL PROTECTED]> > > CC: [EMAIL PROTECTED] > > To: "Syed Abid Hussaini" <[EMAIL PROTECTED]> > > 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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? > Find them fast with Yahoo! Search. > http://tools.search.yahoo.com/newsearch/category.php?category=shopping > ______________________________________________ R-help@r-project.org mailing list 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.