Hi,
How about using "subset"?
x1<-tapply(subset(years, length(area)>20), function(x) length(unique(x)))

I hope this works
Chunhao


Quoting hesicaia <[EMAIL PROTECTED]>:


Hello,
  The quick version of my question is how can I extract a matrix instead of
a vector using tapply()? I would like to be able to access both the results
of tapply() and also the index variables.

In case further explanation would help:  I am analyzing a large (3million
rows x 9 columns) spatial/temporal dataset and am attempting to calculate
the number of unique years containing any data within each geographic area
(10 degree cells in this case). I can do this, but I also want to extract a
subset vector of the index variable (area).

My script to calculate the number of unique years containing any data for
each area is:
x<-tapply(years, area, function(x) length(unique(x)))

Now, I want to extract the vector of areas where the number of unique years
containing any data is >20, but tapply() only returns a vector of unique
years and I was a matrix.

I could use a looping function to do this, but tapply() is much faster with
large datasets and so I would like to use it if possible.

Any help is appreciated.
Thanks.
--
View this message in context: http://www.nabble.com/extracting-index-list-when-using-tapply%28%29-tp18345794p18345794.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to