Hi thanks for data. Probably others can come with better solution
with library(reshape) you can put your data to better form dat2.m<-melt(dat2) dat1.m<-melt(dat1) merge them dat<-merge(dat1.m, dat2.m, by="Species") and finally compute required values select one site temp<-dat[dat[,2]=="Site3"& !is.na(dat[,3]),] and compute unique values length(unlist(aggregate(temp$value.y, list(temp$variable.y), unique)$x)) It is not canned solution as I do not have much time to think it over, but if you do not have too much sites you could compute it in simple for cycle. Regards Petr > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Benjamin Gillespie > Sent: Tuesday, September 25, 2012 10:11 AM > To: arun; r-help@r-project.org > Subject: Re: [R] Script to count unique values from two linked > matricies > > Hi, > > Thanks for helping me with this one. > > To save you time, the following is the code for the tables I uploaded > as jpegs that you may not have received: > > dat1<- > data.frame(Species=paste("Species",1:3),Site1=c(5,NA,4),Site2=c(3,2,4), > Site3=c(NA,5,NA)) > dat2<- > data.frame(Species=paste("Species",1:3),TraitType1=c(1,2,3),TraitType2= > c(2,4,2),TraitType3=c(5,1,1)) > dat3<-data.frame(Site=paste("Site",1:3),Trait_Richness=c(5,7,3)) > > So, > > I have two matricies, dat1 and dat2. > > Dat1 is a species abundance matrix. Dat2 is a species trait matrix. > > I want to create dat3 through use of a script. > > Dat 3 is a count of unique traits observed at each site. i.e. at site > 1, species 1 and 3 are present (ass seen in dat1). Species 1 has > traits: 1, 2 and 5 for trait types 1, 2 and 3 respectively. Species 3 > has traits: 3, 2 and 1 for trait types 1, 2 and 3 respectively. > > So, at site 1: > > For trait type 1, 2 unique traits were observed. For trait type 2, 1 > unique trait was observed (both species 1 and 3 were classed as "1") > and for trait type 3, 2 unique traits (trait richness) were observed; > thus, 2+1+2=5. > > and so on... so at site 2, all three species were observed... > > For trait type 1, 3 unique traits were observed (1, 2, 3), for trait > type 2, 2 unique traits were observed (2, 4, 2) and for trait type 3, 2 > unique traits were observed (5, 1, 1). So, for site 2, trait richness > is 7 (3+2+2) traits. > > I hope this helps to explain, please let me know if you need any > further information, > > Ben Gillespie > Research Postgraduate > > School of Geography > University of Leeds > Leeds > LS2 9JT > > Tel: +44(0)113 34 33345 > Mob: +44(0)770 868 7641 > http://www.geog.leeds.ac.uk/ > ________________________________________ > From: arun [smartpink...@yahoo.com] > Sent: 24 September 2012 19:36 > To: Benjamin Gillespie > Subject: Re: [R] Script to count unique values from two linked > matricies > > HI Ben, > > Sorry,I couldn't understand how you counted the trait richness. Could > you elaborate? > A.K. > > > ----- Original Message ----- > From: benrgillespie <gy...@leeds.ac.uk> > To: r-help@r-project.org > Cc: > Sent: Monday, September 24, 2012 7:47 AM > Subject: [R] Script to count unique values from two linked matricies > > I hope you can help with this one. > > I have two matricies: > > 1. A species abundance matrix: > > <http://r.789695.n4.nabble.com/file/n4643979/2species_matrix.jpg> > > 2. A species trait score matrix: > > <http://r.789695.n4.nabble.com/file/n4643979/2trait_matrix.jpg> > > The trait matrix lists trait scores for each species as listed in the > species abundance matrix. > > I would like to create a script that would effectively count the unique > traits (trait richness) for each site and produce an output like this: > > <http://r.789695.n4.nabble.com/file/n4643979/trait_richness.jpg> > > Firstly, is this possible in R? Secondly, if so, how would you go about > writing a script to achieve my aim? > > Many thanks in advance, please let me know if you need further > information. > > Ben Gillespie (Research Postgraduate) > > > > -- > View this message in context: http://r.789695.n4.nabble.com/Script-to- > count-unique-values-from-two-linked-matricies-tp4643979.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. ______________________________________________ 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.