[R] cleaning up a vector
Marc Schwartz
marc_schwartz at me.com
Fri Oct 1 20:00:42 CEST 2010
On Oct 1, 2010, at 12:51 PM, mlarkin at rsmas.miami.edu wrote:
> I calculated a large vector. Unfortunately, I have some measurement error
> in my data and some of the values in the vector are erroneous. I ended up
> wih some Infs and NaNs in the vector. I would like to filter out the Inf
> and NaN values and only keep the values in my vector that range from 1 to
> 20. Is there a way to filter out Infs and NaNs in R and end up with a
> clean vector?
>
> Mike
set.seed(1)
x <- sample(c(0:25, NaN, Inf, -Inf), 50, replace = TRUE)
> x
[1] 7 10 16 NaN 5 NaN Inf 19 18 1 5 5 19
[14] 11 22 14 20 -Inf 11 22 Inf 6 18 3 7 11
[27] 0 11 25 9 13 17 14 5 23 19 23 3 20
[40] 11 23 18 22 16 15 22 0 13 21 20
> x[is.finite(x) & x >= 1 & x <= 20]
[1] 7 10 16 5 19 18 1 5 5 19 11 14 20 11 6 18 3 7 11 11 9 13
[23] 17 14 5 19 3 20 11 18 16 15 13 20
See ?is.finite
HTH,
Marc Schwartz
More information about the R-help
mailing list