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) --- [EMAIL PROTECTED] 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@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@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.