Dear David,
Thats great, thanks very much for the help, much appreciated.
On 6 Jan 2011, at 15:53, David Winsemius wrote:
On Jan 6, 2011, at 6:36 AM, Chris Mcowen wrote:
> Dear List,
>
> I have a data frame called trait with roughly 800 species in, each species
> have 15 columns of information:
>
> Species 1 2 3 etc..
> a t y h
> b f j u
> c r y u
>
> etc..
>
>
> I then have another data frame called com with the composition of species in
> each region, there are 506 different communities:
>
> community species
> NA1102 a
> NA1102 c
> NA0402 b
> NA0402 c
> AT1302 a
> AT1302 b
>
> etc..
>
>
> What i want to do is extract the information held in the first data frame for
> each community and save this as a new data frame.
> tapply(comm.info$species, comm.info$community, c)
$AT1302
[1] 1 2
$NA0402
[1] 2 3
$NA1102
[1] 1 3
> lapply( tapply(comm.info$species, comm.info$community, c), function(x){
> sp.info[x, ]} )
$AT1302
Species X1 X2 X3
1 a t y h
2 b f j u
$NA0402
Species X1 X2 X3
2 b f j u
3 c r y u
$NA1102
Species X1 X2 X3
1 a t y h
3 c r y u
Might have looked more compact if I had assigned the output of tapply to an
intermediate list:
comm.sp <- tapply(comm.info$species, comm.info$community, c)
lapply( comm.sp , function(x){ sp.info[x, ]} )
>
> Resulting in : -
>
> community_NA1102
>
> a t y h
> c r y u
>
> community_NA0402
>
> b f j u
> c r y u
>
> Thanks in advance for any suggestions / code.
David Winsemius, MD
West Hartford, CT
______________________________________________
[email protected] 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.