[R] extracting index list when using tapply()

ctu at bigred.unl.edu ctu at bigred.unl.edu
Tue Jul 8 21:15:29 CEST 2008


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

I hope this works
Chunhao


Quoting hesicaia <dboyce at dal.ca>:

>
> 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 at 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.
>



More information about the R-help mailing list