[R] Extract data

jim holtman jholtman at gmail.com
Thu Jan 6 18:24:20 CET 2011


'merge' comes in handy:

> spec <- read.table(textConnection("Species         1       2       3
+ a                       t       y       h
+ b                       f       j       u
+ c                       r       y       u"), header=TRUE)
> comm <- read.table(textConnection("community       species
+ NA1102          a
+ NA1102          c
+ NA0402          b
+ NA0402          c
+ AT1302          a
+ AT1302          b"), header = TRUE)
> closeAllConnections()
> # use merge
> x <- merge(spec, comm, by.x="Species", by.y='species')
> x
  Species X1 X2 X3 community
1       a  t  y  h    NA1102
2       a  t  y  h    AT1302
3       b  f  j  u    NA0402
4       b  f  j  u    AT1302
5       c  r  y  u    NA1102
6       c  r  y  u    NA0402
> split(x, x$community)
$AT1302
  Species X1 X2 X3 community
2       a  t  y  h    AT1302
4       b  f  j  u    AT1302

$NA0402
  Species X1 X2 X3 community
3       b  f  j  u    NA0402
6       c  r  y  u    NA0402

$NA1102
  Species X1 X2 X3 community
1       a  t  y  h    NA1102
5       c  r  y  u    NA1102


On Thu, Jan 6, 2011 at 6:36 AM, Chris Mcowen <cm744 at st-andrews.ac.uk> 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.
>
> 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.
> ______________________________________________
> 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.
>



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?



More information about the R-help mailing list