on 07/22/2008 11:24 AM Christian Hof wrote:
Dear all,
how can I, with R, transform a presence-only table (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)) into a
presence-absence (0/1) matrix of species occurrences across sites, as
given in the below example?
Thanks a lot for your help!
Christian
My initial table:
species lat lon
sp1 10 10
sp1 10 30
sp1 20 10
sp1 20 20
sp1 20 30
sp2 10 30
sp2 20 30
sp2 30 30
My desired matrix:
lat lon sp1 sp2
10 10 1 0
10 20 0 0
10 30 1 1
20 10 1 0
20 20 1 0
20 30 1 1
30 10 0 0
30 20 0 0
30 30 0 1
One approach would be to use ftable(). Presuming that your source data
is in a data frame called 'DF':
> ftable(species ~ lat + lon, data = DF)
species sp1 sp2
lat lon
10 10 1 0
20 0 0
30 1 1
20 10 1 0
20 1 0
30 1 1
30 10 0 0
20 0 0
30 0 1
See ?ftable and/or ?ftable.formula
HTH,
Marc Schwartz
______________________________________________
R-help@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.