# [R] Faster way to do it??...using apply?

Jonathan P Daily jdaily at usgs.gov
Tue Dec 28 19:06:12 CET 2010

```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-bounces at 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-bounces at 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 <mresendeufv at 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 at 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 at 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.

```

More information about the R-help mailing list