[R] tapply and any
    Stephan Lindner 
    lindners at umich.edu
       
    Wed Nov 19 19:47:37 CET 2008
    
    
  
Dear all,
A quick question which I somehow cannto figure out: I want to apply
the function "any" to subsets of a dataset in order to create a vector
with TRUE/FALSE values, depending on whether a subset has the number
5. I.e.,
y <- matrix(c(1,2,3,3,4,5,5,6,6,7,5,1,1,3,5,NA,5,1,1,3),ncol=2)
> y
      [,1] [,2]
 [1,]    1    5
 [2,]    2    1
 [3,]    3    1
 [4,]    3    3
 [5,]    4    5
 [6,]    5   NA
 [7,]    5    5
 [8,]    6    1
 [9,]    6    1
[10,]    7    3
## y[,1] is the index, y[,2] the object for which I apply the function.
> tapply(y[,2],y[,1],any,5)
   1    2    3    4    5    6    7 
TRUE TRUE TRUE TRUE TRUE TRUE TRUE 
> tapply(y[,2],y[,1],function(i,x,y) any(x[i]==y),x=y[,2],y=5)
    1     2     3     4     5     6     7 
 TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE 
I want to obtain:
    1     2     3      4     5     6     7 
 TRUE  FALSE  FALSE  TRUE  TRUE  FALSE  FALSE
Thanks!
	Stephan
-- 
-----------------------
Stephan Lindner
University of Michigan
    
    
More information about the R-help
mailing list