On Jan 4, 2013, at 7:30 AM, Sam Steingold wrote:
Hi,
to count vector elements with some property, the standard idiom seems to
be length(which):
--8<---cut here---start->8---
x <- c(1,1,0,0,0)
count.0 <- length(which(x == 0)
On 4 January 2013 16:53, jim holtman wrote:
> Is performance a concern? How often are you going to do it and what
> other parts of your script also take longer? Why are you concerned
> about allocating/discarding two vectors?
I think Sam's question was about additional memory introduced by whi
Hi Ista,
I was doing about something similar when I saw your post, so I took your
code and did some timings:
> system.time(replicate(100, count.0 <- length(which(x == 0
user system elapsed
5.590 0.173 5.834
> system.time(replicate(100, count.1 <- sum(x == 0)))
user syste
What is the concern if it works? you can also do
sum(x==0)
Is performance a concern? How often are you going to do it and what
other parts of your script also take longer? Why are you concerned
about allocating/discarding two vectors?
On Fri, Jan 4, 2013 at 10:30 AM, Sam Steingold wrote:
> H
Hi Sam,
Here is one alternative, which is at least faster:
system.time(count.0 <- length(which(x == 0)))
system.time(count.1 <- sum(x == 0))
all.equal(count.0, count.1)
Best,
Ista
On Fri, Jan 4, 2013 at 10:30 AM, Sam Steingold wrote:
> Hi,
> to count vector elements with some property, the sta
My 2 cents:
AFAIK both which and length are from C compiled code:
http://cran.r-project.org/doc/manuals/r-release/R-ints.html#g_t_002eInternal-vs-_002ePrimitive
so they must be quite efficient ie .Primitive and .Internal. Probably
combination
of this with a pattern in C would be more memory effi
Hi,
to count vector elements with some property, the standard idiom seems to
be length(which):
--8<---cut here---start->8---
x <- c(1,1,0,0,0)
count.0 <- length(which(x == 0))
--8<---cut here---end--->8---
however, this approac
7 matches
Mail list logo