[R] help with subset(), still original dataframe in tapply
    Frank Mattes 
    f.mattes at rfc.ucl.ac.uk
       
    Mon May 26 20:38:41 CEST 2003
    
    
  
Dear R-help reader,
it would be great if someone knows what I'm doing wrong.
I have (shorten) dataframe, which consists of  a group identification 
and a number
>ex
         UID   REL
1  R1.B8.31 0.000
2  R1.B8.31 0.000
3  R1.B8.31 0.000
4  R1.B8.31 0.000
5  R1.B8.38 0.010
6  R1.B8.38 0.060
7  R1.B8.38 0.006
8  R1.B8.38 0.010
9  R1.B8.48 0.080
10 R1.B8.48    NA
11 R1.B8.48 0.006
I'm creating now a subset missing the values 0 and "NA"
>  newex<-subset(ex,ex$REL>0)
>  newex
         UID   REL
5  R1.B8.38 0.010
6  R1.B8.38 0.060
7  R1.B8.38 0.006
8  R1.B8.38 0.010
9  R1.B8.48 0.080
11 R1.B8.48 0.006
and now would like to apply the mean to each group in (UID)
>  tapply(newex$REL,newex$UID,mean,rm.na=T)
R1.B8.31 R1.B8.38 R1.B8.48
       NA   0.0215   0.0430
to my surprise, I still have the mean for group R1.B8.31, which has 
been removed by the subset function before.
I can remove the NA by
  tapply(newex$REL,interaction(newex$UID,drop=T),mean,rm.na=T)
but I would like to know why the tapply still uses the original dataframe.
Many thanks for your help
Frank
-- 
Frank Mattes, 				e-mail:	f.mattes at ucl.ac.uk
Department of Virology			fax	0044(0)207 8302854
Royal Free Hospital and 			tel	0044(0)207 8302997
University College Medical School
London
    
    
More information about the R-help
mailing list