[R] Re-post data format question (apologies)

Marc Schwartz marc_schwartz at comcast.net
Sat Feb 7 20:57:35 CET 2009


on 02/07/2009 01:47 PM Drew Garey wrote:
> Hello all,
> 
> 
> 
> I have a *.csv file that looks like this (actual file is orders of magnitude
> larger):
> 
> 
> 
> Site                  taxa                  no.ind
> 
> forest                LMA                1
> 
> forest                LCY                1
> 
> forest                SCO                1
> 
> meadow           LMA                2
> 
> meadow           LCY                1
> 
> meadow           PNT                 3
> 
> 
> 
> I am interested in, but have failed to create, code that efficiently
> converts it to a site-by-taxa matrix or data frame that looks like this:
> 
> 
> 
>                         LMA    LCY    SCO    PNT
> 
> Forest              1          1          1          0
> 
> Meadow          2          1          0          3
> 
> 
> 
> 
> 
> With no repeating taxa names and zeros where a taxon is not listed for a
> site.  Any help would be greatly appreciated.

See ?xtabs

If your data is in a data frame called 'DF':

> DF
    Site taxa no.ind
1 forest  LMA      1
2 forest  LCY      1
3 forest  SCO      1
4 meadow  LMA      2
5 meadow  LCY      1
6 meadow  PNT      3


> xtabs(no.ind ~ Site + taxa, data = DF)
        taxa
Site     LCY LMA PNT SCO
  forest   1   1   0   1
  meadow   1   2   3   0

HTH,

Marc Schwartz




More information about the R-help mailing list