[R] easy way to cap a data frame to a max value

Gabor Grothendieck ggrothendieck at gmail.com
Fri Nov 7 22:54:34 CET 2008


A few more.  These each have the advantage of not
destroying the original data frame:

# based on Erik's
DF2 <- replace(DF, DF > 10, 10)

# based on my previous one
DF2 <- replace(DF, TRUE, pmin(10, unlist(DF)))

DF2 <- (DF + 10)/2 - abs(DF - 10)/2

On Fri, Nov 7, 2008 at 4:38 PM, Gabor Grothendieck
<ggrothendieck at gmail.com> wrote:
> That should be pmin:
>
> On Fri, Nov 7, 2008 at 4:25 PM, Gabor Grothendieck
> <ggrothendieck at gmail.com> wrote:
>> Assuming the data frame is all numeric:
>>
>> DF[] <- pmax(10, unlist(DF))
>>
>>
>> On Fri, Nov 7, 2008 at 4:16 PM, Grey Moran <grey.moran at gmail.com> wrote:
>>> Hello,
>>>
>>> I have some rather large matrices.  Is there a way (without having to
>>> loop) to cap all the values of a data frame to a given ceiling?
>>> E.g.
>>> junk <- cbind(c(1,2,3,4,5),c(2,4,6,8,10))
>>>> junk
>>>     [,1] [,2]
>>> [1,]    1    2
>>> [2,]    2    4
>>> [3,]    3    6
>>> [4,]    4    8
>>> [5,]    5   10
>>>
>>>>" replace anything over the value of 5 with 5..."
>>>
>>> Thank you all,
>>>
>>> Grey
>>>
>>> ______________________________________________
>>> 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