I don't know if it's any faster, but it is also possible this way: y <- ifelse(x ==1, round(runif(x)), sign(x)) -------------------------------------- Jonathan P. Daily Technician - USGS Leetown Science Center 11649 Leetown Road Kearneysville WV, 25430 (304) 724-4480 "Is the room still a room when its empty? Does the room, the thing itself have purpose? Or do we, what's the word... imbue it." - Jubal Early, Firefly
r-help-boun...@r-project.org wrote on 12/28/2010 12:48:04 PM: > [image removed] > > Re: [R] Faster way to do it??...using apply? > > Henrique Dallazuanna > > to: > > M.Ribeiro > > 12/28/2010 12:51 PM > > Sent by: > > r-help-boun...@r-project.org > > Cc: > > r-help > > Try this indeed > > replace(replace(x, x == 1, sample(0:1, sum(x == 1), rep = TRUE)), x == 2, 1) > > On Tue, Dec 28, 2010 at 3:14 PM, M.Ribeiro <mresende...@yahoo.com.br> wrote: > > > > > Hi Henrique, > > Thanks for the fast answer, > > The only problem in your code, which I think I didn't mention in my message > > is that I would like one different random sampling procedure for each 1 in > > my vector > > > > The way it was written, it samples only once and replace by every 1: > > > x = as.matrix(c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)) > > > replace(replace(x, x == 1, sample(0:1, 1)), x == 2, 1) > > [,1] > > [1,] 1 > > [2,] 1 > > [3,] 1 > > [4,] 1 > > [5,] 1 > > [6,] 1 > > [7,] 1 > > [8,] 1 > > [9,] 1 > > [10,] 1 > > [11,] 1 > > [12,] 1 > > [13,] 1 > > [14,] 1 > > [15,] 1 > > > > Thanks > > > > -- > > View this message in context: > > http://r.789695.n4.nabble.com/Faster-way-to-do-it-using-apply- > tp3166161p3166203.html > > Sent from the R help mailing list archive at Nabble.com. > > > > ______________________________________________ > > 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. > > > > > > -- > Henrique Dallazuanna > Curitiba-Paraná-Brasil > 25° 25' 40" S 49° 16' 22" O > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. ______________________________________________ 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.