giovedì 12 marzo 2009

no "Infinities"

Thanks to  Pierre-Yves for the below useful tip!

if you have a dataset from which you want the max or min but they have to be real number and not "Inf" or "-Inf" there is a way to do it:

data <- c(-Inf, 1,2,3,4,5,6,7,8,9,10, Inf)
max(data)
# Return Inf
min(data)
# Return -Inf
# To solve the problem I went to:
range(data, finite=TRUE)
# Then you can do
myMinimum <- range(data, finite=TRUE)[1]
myMaximum <- range(data, finite=TRUE)[2]

2 commenti:

  1. If the size of the dataset is very large or loops through many datasets, you may be better off doing something like:

    myMinMax = range( data, finite = TRUE )

    and accessing the containers directly. But that really only matters if calculating "range" twice is computationally expensive.

    RispondiElimina