[R] Function for translation of a list into a matrix as used by ordination?
John Kane
jrkrideau at yahoo.ca
Sat Jan 26 00:20:34 CET 2008
I think you can do this fairly easily with the reshape
package. Is this basically what you want?
x <- "Plot1 Species1 Abundance1
Plot1 Species2 Abundance2
Plot2 Species1 Abundance1
Plot2 Species3 Abundance3 "
xx <- read.table(textConnection(x), header=TRUE,
as.is=TRUE); xx
names(xx) <- c("plot", "species", "abon")
ab <- melt(xx, id=c("plot", "species"),
measured=c("abon"))
cast(ab, plot~ species + variable)
--- Billy_Schweiger at nps.gov wrote:
>
> Hello.
>
> Does anyone know of an existing function that takes
> a list in the form of:
>
> Plot1 Species1 Abundance1
> Plot1 Species2 Abundance2
> Plot2 Species1 Abundance1
> Plot2 Species3 Abundance3
> .
> .
> .
> PlotN SpeciesN AbundanceN
>
> and translates into a matrix in the form of
>
> Species1 Species2.... SpeciesN
> Plot1 Abundance1 Abundance2... AbundanceN
> Plot2 Abundance1 Abundance2... AbundanceN
> .
> .
>
> .
> PlotN AbundanceN AbundanceN... AbundanceN
>
>
> This is a basic operation used in the initial stages
> of ordination etc of
> ecological data (vegetation or other species) that
> is usually stored in a
> database or flatfile in the list format above. It is
> similar to a cross
> tabulation like the function xtabs(), however its
> useful to be able to
> control whether a measured abundance for a taxa is
> included or a boolean
> (presence/absence) for the taxa in a given plot.
>
> Im new to such analyses in R, but before writing it
> myself hope or suspect
> that such a function or library is out there
> (although I dont see it after
> some quick searching in things like Vegan or
> BiodivesityR or labdsv).
>
>
> Thanks
> billy
>
> ______________________________________________
> 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.
>
More information about the R-help
mailing list