Re: [R] data transformation

From: Kingsford Jones <kingsfordjones_at_gmail.com>
Date: Fri, 02 May 2008 15:34:24 -0700

Hi Christian,

Here's a way using the reshape package:

> dfr

   site lat lon spec1 spec2 spec3 spec4

1 site1  10  11     1     0     1     0
2 site2  20  21     1     1     1     0
3 site3  30  31     0     1     1     1

> library(reshape)
> dfr <- melt(dfr[, -1], id=1:2, variable_name='species')
> dfr <- dfr[dfr$value>0,]
> dfr

   lat lon species value

1   10  11   spec1     1
2   20  21   spec1     1
5   20  21   spec2     1
6   30  31   spec2     1
7   10  11   spec3     1
8   20  21   spec3     1
9   30  31   spec3     1
12  30  31   spec4     1


The 'value', variable is not interesting here, but if you had counts rather than presence/absence it could be.

best,

Kingsford Jones

On Fri, May 2, 2008 at 2:27 PM, Christian Hof <chof_at_bio.ku.dk> wrote:
> Dear all,
> how can I, with R, transform a presence-absence (0/1) matrix of species
> occurrences into a presence-only table (3 columns) with the names of the
> species (1st column), the lat information of the sites (2nd column) and the
> lon information of the sites (3rd column), as given in the below example?
> Thanks a lot for your help!
> Christian
>
>
> my dataframe:
>
> site lat lon spec1 spec2 spec3 spec4
> site1 10 11 1 0 1 0
> site2 20 21 1 1 1 0
> site3 30 31 0 1 1 1
>
>
> my desired new dataframe:
>
> species lat lon
> spec1 10 11
> spec1 20 21
> spec2 20 21
> spec2 30 31
> spec3 10 11
> spec3 20 21
> spec3 30 31
> spec4 30 31
>
>
>
> --
> Christian Hof, PhD student
>
> Center for Macroecology & Evolution
> University of Copenhagen
> www.macroecology.ku.dk
> &
> Biodiversity & Global Change Lab
> Museo Nacional de Ciencias Naturales, Madrid
> www.biochange-lab.eu
>
> mobile ES .. +34 697 508 519
> mobile DE .. +49 176 205 189 27
> mail .. chof_at_bio.ku.dk
> mail2 .. vogelwart_at_gmx.de
> blog .. www.vogelwart.de
>
> ______________________________________________
> 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.
>



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. Received on Fri 02 May 2008 - 22:37:48 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 02 May 2008 - 23:30:33 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive