Thanks a lot Joris, that worked wonderfully!
Another solution which a colleague at the department came up with was
this, which avoids curly brackets, which some people may or may not be
frightened by...
##matrices
bank.plot<-matrix(,5,3,dimnames=list(c("AB 01 01", "AB 01 02", "AB 02
01","AB 03 01","AB 03 02"),c(1:3)))
site.veg<-matrix((c(1,0,1,1,0,1,0,1,1)),3,3,dimnames=list(c("AB 01", "AB
02", "AB 03")))
##create matrix where sites correspond to plots
bank.veg<-cbind(rownames(bank.plot),(substr(rownames(bank.plot),1,5)))
##create new site x species matrix, and change the rownames to
correspond with the plots
site.dupl<-site.veg[bank.veg[,2],]
rownames(site.dupl)<-rownames(bank.plot)
Alistair
Joris Meys wrote:
> Hi Alistair,
>
> ?match will help, but you need to extract the site names first. Quick
> and dirty :
>
> seed <- substr(rownames(bank.plot),1,5)
> site <- rownames(site.veg)
>
> for(i in 1:length(seed)){
> bank.plot[i,]<-site.veg[match(seed[i],site),]
> }
>
> Cheers
> Joris
> On Wed, May 26, 2010 at 2:50 PM, Alistair Auffret
> <[email protected] <mailto:[email protected]>>
> wrote:
>
> Hello all,
> I am going slightly mad trying to create a table for running
> co-correspondence analysis.
>
> What I have is seed bank and vegetation data, and my aim is to
> see if the vegetation found in a site (containing several seed
> bank samples) can predict the composition of a seed bank sample
> within that site. So for this I need two tables with matching rows.
>
> I have created an empty matrix, where the rows correspond to the
> seed bank samples
>
> bank.plot<-matrix(,5,3,dimnames=list(c("AB 01 01", "AB 01 02", "AB
> 02 01","AB 03 01","AB 03 02"),c(1:3)))
> bank.plot
>
> And I have a matrix where I have presence/absence of species in
> the vegetation at each site.
>
> site.veg<-matrix((c(1,0,1,1,0,1,0,1,1)),3,3,dimnames=list(c("AB
> 01", "AB 02", "AB 03")))
> site.veg
>
> Is there a way to fill the bank.plot matrix with the results from
> the vegetation survey, duplicating them appropriately to match
> sites to plots, even when the number or sites per plot are
> unequal? i.e. in my example, the row AB 01 in site.veg would be
> duplicatied for the first two rows, AB 02 only once, and AB 03 twice.
>
> Hope you can help!
>
> Many thanks.
>
>
> --
>
> Alistair Auffret
> PhD Student
>
> Department of Physical Geography and Quaternary Geology
> Stockholm University
> 106 91 Stockholm
> Sweden
>
> +46(0)8 674 7568
> +46(0)76 7158975
>
> ______________________________________________
> [email protected] <mailto:[email protected]> 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.
>
>
>
>
> --
> Joris Meys
> Statistical Consultant
>
> Ghent University
> Faculty of Bioscience Engineering
> Department of Applied mathematics, biometrics and process control
>
> Coupure Links 653
> B-9000 Gent
>
> tel : +32 9 264 59 87
> [email protected]
> -------------------------------
> Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
--
Alistair Auffret
PhD Student
Department of Physical Geography and Quaternary Geology
Stockholm University
106 91 Stockholm
Sweden
+46(0)8 674 7568
+46(0)76 7158975
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.