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

David Winsemius dwinsemius at comcast.net
Tue Jun 22 20:24:07 CEST 2010


On Jun 22, 2010, at 2:14 PM, Johannes Huesing wrote:

> Jim Hargreaves <james at ipec.co.uk> [Mon, Jun 21, 2010 at 12:34:01PM  
> CEST]:
>> 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).
>>
>
> lapply(example, min, 5)

Perhaps wrapped in unlist( ) if a vector is desired.

The same strategy would work with pmin and probably be faster (albeit  
not a big deal if the list is only 1000 elements long:

unlist( pmin(example, 5) )


>
> -- 
> Johannes Hüsing


David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list