[R] count appearence of zero in a vector

arun smartpink111 at yahoo.com
Fri Jan 4 16:35:36 CET 2013


As long as there are no negative numbers, method2 and 3 works:
 test[1]<- -1
length(which(test==0))
#[1] 6
 length(which(test<1))
#[1] 7
 length(which(test < .Machine$double.xmin))
#[1] 7

length(which(abs(test)<1))
#[1] 6
 length(which(abs(test) < .Machine$double.xmin))
#[1] 6
A.K.




----- Original Message -----
From: "Suzen, Mehmet" <msuzen at gmail.com>
To: Hermann Norpois <hnorpois at googlemail.com>
Cc: R help <r-help at r-project.org>
Sent: Friday, January 4, 2013 12:27 AM
Subject: Re: [R] count appearence of zero in a vector

Hi Hermann,

You may want to use ?which, to store the index as well (might be handy
in debugging or some other
purposes if zeros has some special meaning) :

test <- c(1, 1, 1 , 1 , 1, 1, 2, 1, 1, 1, 0, 2, 0, 1, 1, 0, 0, 0, 1,
1, 1, 0, 1, 2, 1, 1, 1, 1, 1, 1)
length(which(test==0))

But be careful when using == 0. If you are sure that elements are all
integers I prefer this

length(which(test <1)).

Or a safe tolerance value from .Machine, if you are dealing with double numbers.

length(which(test < .Machine$double.xmin))


-m

______________________________________________
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