[R] tapply

Weiwei Shi helprhelp at gmail.com
Tue Jun 21 17:02:50 CEST 2005


hi
i tried all the methods suggested above:
ave and rowsum with "with" function works for my situation. I think
the problem might not be due to tapply.
My data z comes from
z<-y[y[[1]] %in% x[[2]], c(1,9)]

while z is supposed to have no entries for those non-matched between x and y.

however, when I run tapply, and the result also includes those
non-matched entries. I use is.na function to remove those entry from z
first and then use tapply again, but the result is the same: those
NA's and those non-matched results are still there. That's what I mean
by "it doesn't work".

Is there something I missed here so that z "implicitly" has some
"trace" back to y dataset?

thanks,

On 6/20/05, Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
> On 6/20/05, Weiwei Shi <helprhelp at gmail.com> wrote:
> > hi,
> > i have another question on tapply:
> > i have a dataset z like this:
> > 5540 389100307391      2600
> > 5541 389100307391      2600
> > 5542 389100307391      2600
> > 5543 389100307391      2600
> > 5544 389100307391      2600
> > 5546 381300302513        NA
> > 5547 387000307470        NA
> > 5548 387000307470        NA
> > 5549 387000307470        NA
> > 5550 387000307470        NA
> > 5551 387000307470        NA
> > 5552 387000307470        NA
> >
> > I want to sum the column 3 by column 2.
> > I removed NA by calling:
> > tapply(z[[3]], z[[2]], sum, na.rm=T)
> > but it does not work.
> >
> > then, i used
> > z1<-z[!is.na(z[[3]],]
> > and repeat
> > still doesn't work.
> >
> > please help.
> >
> 
> Depending on what you want you may be able to use rowsum:
> 
> - display only groups that have at least one non-NA with the sum
>   being the sum of the non-NAs:
> 
>         with(na.omit(z), rowsum(V3, V2))
> 
> - display all groups with the sum being NA if any member is NA:
> 
>         rowsum(z$V3, z$V2)
> 


-- 
Weiwei Shi, Ph.D

"Did you always know?"
"No, I did not. But I believed..."
---Matrix III




More information about the R-help mailing list