[R] Zero counts in an aggregate function
noellejm
noellejm at u.washington.edu
Tue May 17 07:46:23 CEST 2011
Dear R-users,
I've searched for an answer to my question, but so far haven't been able to
find a solution. Its likely a simple issue, but have no idea how to do this.
A simplified version my (very large) data set looks like this:
>
> bugs
FRUIT SEED_ID SURVIVE
1 1 A 1
2 1 B 1
3 1 C 1
4 1 D 0
5 1 E 1
6 1 F 0
7 2 A 1
8 2 B 1
9 2 C 1
10 2 D 1
11 2 E 1
12 2 F 1
13 3 A 0
14 3 B 0
15 3 C 0
16 3 D 0
17 3 E 0
18 3 F 0
What I would like to do is aggregate seeds per fruit and reorganize the
SURVIVE data into counts.
I would like to add columns with counts of the number of 1s (alive) and 0s
(dead) in each so that my data looks like this:
FRUIT ALIVE DEAD
1 1 4 2
2 2 6 0
3 3 0 6
I have managed do do this using "aggregate" with FUN=sum for the 1 values...
bugsALIVE<-aggregate(bugs$SURVIVE,by=list(bugs$FRUIT),FUN=sum,na.rm=TRUE)
...but am having trouble figuring out how to get counts of the 0 values
since there is no built-in "count" function.
I have tried to write my own function but I am fairly new to R and writing
functions and have not figured out how to only count 0s within each value of
"FRUIT"
Something like...
count<-function(x){length(x==0)}
However, when I try this it still counts all 6 seeds per fruit. How can I
write a function to only count zero values for each value of "FRUIT"? Or is
there a better/simpler way than using the aggregate function?
Any help is appreciated!
Thanks,
Noelle
--
View this message in context: http://r.789695.n4.nabble.com/Zero-counts-in-an-aggregate-function-tp3528084p3528084.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list