Re: [R] Replacing elements of a list over a certain threshold

From: Christos Argyropoulos <argchris_at_hotmail.com>
Date: Mon, 21 Jun 2010 15:03:44 +0300

Hi,
You should use the sapply/lapply for such operations.

> r<-round(runif(100000,1,10))
> head(r)


[1] 3 7 6 3 2 8
> filt<-function(x,thres) ifelse(x<thres,x,thres)
> system.time(r2<-sapply(r,filt,thres=5))

   user system elapsed
   3.36 0.00 3.66
> head(r2)

[1] 3 5 5 3 2 5

To return a list, replace "sapply" with "lapply"

Christos

> Date: Mon, 21 Jun 2010 11:34:01 +0100
> From: james_at_ipec.co.uk
> To: r-help_at_r-project.org
> Subject: [R] Replacing elements of a list over a certain threshold
>
> Dear List,
>
> I have a list of length ~1000 filled with numerics. I need to replace
> the elements of this list that are above a certain numerical threshold
> with the value of the threshold.
>
> e.g
> example=list(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
> threshold=5
> <magic code goes here>
> example=(1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 2, 1).
>
> I have written a crude script that achieves this but it's very slow. Is
> there a way to do this using some R function?
>
> Crude script: http://pastebin.com/3KSfi8nD
>
> ______________________________________________
> 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.
                                               



Hotmail: Free, trusted and rich email service.

        [[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. Received on Mon 21 Jun 2010 - 12:05:48 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 21 Jun 2010 - 12:50:33 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive